AC---最大分数

AC---最大分数

AC: 我的做法是把<=0的数存放到一个数组当中,然后按从小到大排序,这样绝对值越大就在数组的前面,就可以操作了。

#include<stdio.h>
#include<math.h>

int cmp(const void* a,const void* b)
{
    return *(int*)a - *(int*)b;
}

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int n,m;
        scanf("%d %d",&n,&m);
        int num[n];
        int numi = 0;
        int number;
        
        for(int i = 0;i < n ;i++)
        {
            num[i] = 0;
        }
        
        for(int i = 0; i < n; i++)
        {
            scanf("%d",&number);
            if(number <= 0)
            {
                num[numi++] = number;
            }
        }
        
        qsort(num,numi,sizeof(int),cmp);
        int sum = 0;
        
        for(int i = 0; i < m ;i++)
        {
            sum += fabs(num[i]);
        }
        
        printf("%d\n",sum);
    }
    
    return 0;
}

 

上一篇:「TZHSPC 2021」卯酉新干线上的算法之旅 比赛总结


下一篇:洛谷 P3966 [TJOI2013]单词