文章

13

粉丝

120

获赞

1

访问

6.8k

头像
选球问题 题解:先排序就简单了 C
P1683 中南大学2019年机试题
发布于2024年3月14日 10:40
阅读数 628

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp(const void *a, const void *b)
{
    return *(char *)a - *(char *)b;
}
int main()
{
    int n, k;
    while (scanf("%d %d", &n, &k) != EOF)
    {
        char str[50];
        scanf("%s", str);
        int len = strlen(str);
        qsort(str, len, sizeof(str[0]), cmp);
        char current = str[0];
        int res = current - 'a' + 1, i, j;
        for (i = 1, j = 1; i < len && j < k; i++)
        {
            if (str[i] - current >= 2)
            {
                res += str[i] - 'a' + 1;
                j++;
                current = str[i];
            }
        }
        if (j == k)
            printf("%d\n", res);
        else
            printf("-1\n");
    }
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发