娜塔莎Natasha上火星
Natasha is going to fly to Mars. She needs to build a rocket, which consists of several stages in some order. Each of the stages is defined by a lowercase Latin letter. This way, the rocket can be described by the string — concatenation of letters, which correspond to the stages.........题目链接
#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int n,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
int sum=0;
char a[50];
getchar();
string s;
cin>>s; //这个用scanf("%s",s);不行
for(int i=0;i<n;i++)
a[i]=s[i]-96;
sort(a,a+n);
int j=1;
for(int i=1;i<n;i++)
if(a[i]-a[i-1>=2])
j++;
if(j<k)
{
printf("-1\n");// cout<<"-1"<<endl;
return 0;
}
sum+=a[0];
k--;
int t=a[0];
for(int i=1;i<n;i++)
{
if(k==0)
break;
if(a[i]-t>1)
{
t=a[i];
sum+=a[i];
k--;
}
}
if(k==0)
printf("%d\n",sum);// cout<<sum<<endl;
else
printf("-1\n");// cout<<"-1"<<endl;
}
return 0;
}