只能过样例,求大佬指点
查看原帖
只能过样例,求大佬指点
639320
zhangjingyi5002楼主2022/8/1 20:48
#include<iostream>
using namespace std;

int n,a[10100],book[5100];
long long sum=0;
int solve(int k){
	int sumk;
	int t=k/2;
	for(int i=1;i<=t;i++){
		int j=k-i;
		if(i==j){
			sumk+=(book[i]*(book[i]-1)/2);
			break;
		} 
		sumk+=(book[i]*book[j]);
	}
	return sumk;
}
int main(){
	cin>>n;
	for(int i=0;i<n;i++) {
		cin>>a[i];
		book[a[i]]++;
	}
	for(int i=2;i<=5000;i++){
		if(book[i]>=2){
			int tt=book[i]*(book[i]-1)/2;
			sum=sum+(tt*solve(book[i]));		
			sum%=1000000007;
		}
	}
	cout<<sum;
	return 0;
}
2022/8/1 20:48
加载中...