C语言,能过样例但是0分
查看原帖
C语言,能过样例但是0分
1132411
Red_Cow楼主2023/12/26 22:50
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int a[20],b[20],c[20],d[20],time,l,r;
int s1,s2,s3,s4;
void q(int *a,int start,int end)//快速排序
{
    if(start >= end) return;
    int l,r,t;
    l=start;
    r=end;
    while(l < r)
    {
        while(l < r && a[l] >= a[r]) r--;
        t=a[r];a[r]=a[l];a[l]=t;
        while(l < r && a[l] >= a[r]) l++;
        t=a[r];a[r]=a[l];a[l]=t;
    }
    q(a,start,r-1);
    q(a,r+1,end);
}
void t(int *a,int len)
{
    l = r = 0;
    for(int i=0;i<len;i++)
    {
        if(l <= r) l+=a[i];
        else r+=a[i];
    }
    time += (l>r?l:r);
}
int main()
{
    int i;
    scanf("%d%d%d%d",&s1,&s2,&s3,&s4);
    for(i=0;i<s1;i++) scanf("%d",&a[i]);
    for(i=0;i<s2;i++) scanf("%d",&b[i]);
    for(i=0;i<s3;i++) scanf("%d",&c[i]);
    for(i=0;i<s4;i++) scanf("%d",&d[i]);

    q(a,0,s1-1);q(b,0,s2-1);q(c,0,s3-1);q(d,0,s4-1);
    t(a,s1);t(b,s2);t(c,s3);t(d,s4);


    printf("%d",time);
    return 0;
}

2023/12/26 22:50
加载中...