全WA求助
查看原帖
全WA求助
1034059
zlzlzlzlz楼主2023/8/11 14:02

怎么会这样?感觉写得和题解的思路一样啊,但是怎么改都是全WA。蒟蒻完全看不出问题,是哪里的int炸了吗?而且我全开long long也还是全WA。

#include <bits/stdc++.h>
using namespace std;
int n;
int a[100000]={0};
int num[5000]={0};
long long int sum=0;
long long int mod = 1000000007;

long long int C2(long long int n){
    long long int res;
    res = (n*(n-1)/2)%mod;
    return res;
}

int main(){
    cin >> n;
    int max = 0;
    int min = 1e6;
    for (int i=0; i<n; i++){
        cin >> a[i];
        if (a[i]>max){max = a[i];}
        if (a[i]<min){min = a[i];}
        num[a[i]]++;
    }

    for (int i=min+1; i<=max; i++){  
        long long int x;
        if (num[i]>=2){
            x = C2(num[i])%mod;
            for (int j=min; j<=i/2; j++){
                if (j!=i-j && num[j]>=1 && num[i-j]>=1){
                    sum += x*(num[i]*num[i-j])%mod;
                }
                if (j==i-j && num[j]>=2){
                    sum += x*C2(num[j])%mod;
                }
                sum = sum%mod;
            }
        }
    }
    cout << sum%mod << endl;
    return 0;
}
2023/8/11 14:02
加载中...