m0_52186363 2021-04-06 09:23 采纳率: 100%
浏览 30

数蝌蚪(构造等差数列)问题,数据规模太大,不知道怎么debug

题目如下:

 

 

 

代码如下:

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

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

int main()
{
    int n,i,k;scanf("%d%d",&n,&k);
    long long int cnt=0;
    int a[n];for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        a[i]-=i*k;//消除等差数列的差
    }
    qsort(a,n,sizeof(int),cmp);
    if(a[n/2]>=0)//到n个点的距离之和最小的点是最中间两个点的中间的点
    {
        for(i=0;i<n/2;i++)
            cnt+=(a[n/2]-a[i]);
        for(i=n/2;i<n;i++)
            cnt+=(a[i]-a[n/2]);
    }
    if(a[n/2]<0)//防止出现负蝌蚪的情况
        for(i=0;i<n;i++)
            cnt+=abs(a[i]);
    printf("%lld",cnt);
}

测试点对了7/10,错了一些,对的那些也是30000组数据,不知道怎么办诶,请求各位大神解答,摘一个正确的和错误的测试点:

 

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
    • ¥15 python爬取bilibili校园招聘网站
    • ¥30 求解达问题(有红包)
    • ¥15 请解包一个pak文件
    • ¥15 不同系统编译兼容问题
    • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
    • ¥30 数字电源对DSP芯片的具体要求
    • ¥20 antv g6 折线边如何变为钝角
    • ¥30 如何在Matlab或Python中 设置饼图的高度
    • ¥15 nginx中的CORS策略应该如何配置