萌新求教:自造+题目的样例均过,为什么提交0分?
查看原帖
萌新求教:自造+题目的样例均过,为什么提交0分?
167689
TerryGong楼主2020/7/18 21:40

RTcodeRT \text{,}code 和思路见下方

#include <iostream>
#include <algorithm>
#define N 100010
#define M 5010
using namespace std;
const long long mod=1000000007;
long long x,p1,p2,p3,vis[M],n,mmin,mmax,ans;
int main(){
	ios::sync_with_stdio(false);
	cin>>n;
	cin>>x;
	vis[x]++;
	mmin=x;
	mmax=x;
	for(int i=2;i<=n;i++){
		cin>>x;
		vis[x]++;
		mmin=mmin<x?mmin:x;
		mmax=mmax>x?mmax:x;
	}
	for(int i=mmin+1;i<=mmax;i++){
		if(vis[i]>=2){
			p3=vis[i]*(vis[i]-1)/2;
			for(int j=mmin;j<=i-j;j++){
				p1=vis[j];
				p2=vis[i-j];
				if(p1==0||p2==0)
					continue;
				if(j==i-j)
					ans+=(p1*(p1-1)/2*p3)%mod;
				else
					if(p1+p2<2)
						continue;
					else
						ans+=(p1*p2*p3)%mod;
			}
			ans=ans%mod;
		}
	}
	cout<<ans;
	return 0;
}

去题解看了一下,发现发题解的大佬们思路和我都差不多,自己不知道为什么错了,求大佬们指正。谢谢!

2020/7/18 21:40
加载中...