寄!84,2,3没过
查看原帖
寄!84,2,3没过
616059
renzecheng楼主2023/6/29 22:40

讲个笑话,我忘记加return 0;结果2,3RE

以为小逝,结果2TLE,3WA

#include<bits/stdc++.h>
using namespace std;
long long a[200005],b[200005];
long long f[200005],cnt=0;
int main()
{
	long long n,l=1,i,j;
	long long c;
	cin>>n>>c;
	for(i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	sort(a+1,a+1+n);
	b[1]=a[1];
	f[1]=1;
	for(i=2;i<=n;i++)
	{
		if(b[l]==a[i])
		{
			f[l]++;
		}
		else
		{
			l++;
			b[l]=a[i];
			f[l]++;
		}
	}
//	for(i=1;i<=l;i++)
//	{
//		cout<<b[i]<<' '<<f[i]<<endl;
//	}
	for(i=l;i>=1;i--)
	{
		for(j=i-1;b[i]-b[j]<=c;j--)
		{
			if(b[i]-b[j]==c) cnt+=f[i]*f[j];
		}
	}
	cout<<cnt;
	return 0;
}
为什么不删注释,因为我很懒我对我的代码极其不自信
2023/6/29 22:40
加载中...