Codeforces A. Stages 1011A



A solution in c++

#include<bits/stdc++.h>

using namespace std;

/// Typedef
typedef long long int ll;


//Int data type
#define sc1(a)              scanf("%d", &a)
#define sc2(a, b)           scanf("%d %d", &a, &b)
#define sc3(a, b, c)        scanf("%d %d %d", &a, &b, &c)
#define sc4(a, b, c, d)     scanf("%d %d %d %d", &a, &b, &c, &d)

//Long Data type
#define scl1(a)             scanf("%lld", &a)
#define scl2(a, b)          scanf("%lld %lld", &a, &b)
#define scl3(a, b, c)       scanf("%lld %lld %lld", &a, &b, &c)
#define scl4(a, b, c, d)    scanf("%lld %lld %lld %lld", &a, &b, &c, &d)

#define mx 1000005
#define mod 1000000007
#define pf(a) cout<<a<<endl

int main()
{
    ll n,m,i,j=0,k=0,t,a=0,b,c,ck=0,dk=1;
    scl2(n,m);

    string arr;
    cin>>arr;

    sort(arr.begin(), arr.end());

        a = arr[0] - 'a';
        ck+=a+1;
        for(i=1; i<n; i++){
            b = arr[i] - 'a';
            if(abs(a-b)>1 && m>1){
                ck+=(b+1);
                j++;
                dk++;
                a = arr[i] - 'a';
                if(j==m-1) break;
            }
            else{
                continue;
            }
        }

    if(dk<m)
        cout<<"-1"<<endl;
    else
        cout<<ck<<endl;

}

Post a Comment

0 Comments