这for循环那不一样 一个0分一个100
查看原帖
这for循环那不一样 一个0分一个100
320883
白面葫芦娃楼主2020/8/11 11:47
#include <iostream>
#include <algorithm>
using namespace std;
long long mod=1e9+7,ans,n,a[5005];
int main(){
	cin>>n;
	int x;
	for(int i=0;i<n;i++){
		cin>>x;
		a[x]++;
	}
	for(int i=5000;i>0;i--){
		if(a[i]>1) {
			long long x,y;
			x=(a[i]*(a[i]-1))/2;
			for(int j=i-1;j>=i/2;j--)//for(int j=1;j<=i/2;j++)
				if(a[j] && a[i-j]) {
					if(j==i-j) 	y=(a[j]*(a[j]-1))/2;
					else y=a[j]*a[i-j];
					ans+=x*y;
					ans%=mod;
				}
		}
	}
	cout<<ans<<endl;
	return 0;
}
2020/8/11 11:47
加载中...