自己测试了一些数据可以,提交就只有三个对
查看原帖
自己测试了一些数据可以,提交就只有三个对
1526368
acc2bda楼主2024/10/23 21:39

麻烦大佬们帮忙看看哪里错了,新生学c快崩溃了。。。

#include<stdlib.h>
#include<stdio.h>
int cmp(const void *a,const void *b){
    int *pa=(int*)a;
    int *pb=(int*)b;
    return *pa - *pb;
}
int main(){
    int n;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }

    qsort(a,n,sizeof(a[0]),cmp);

    int cnt;
    for(int i=n-1;i>=0;i--){
        int l=0;
        int r=i-1;
        while(l<r){
            if(a[l]+a[r]<a[i]){
                l++;
            }else if(a[l]+a[r]>a[i]){
                    r--;
                }else{
                        cnt++;
                        l++;
                        r--;
                    }
        }
    }

    printf("%d",cnt);

    return 0;
}



2024/10/23 21:39
加载中...