求助求助
查看原帖
求助求助
320883
白面葫芦娃楼主2020/8/31 13:05

第一个第五个第六个都有一个点过不去

#include <iostream>
using namespace std;
long long a[1000005],n,k,ans,b[1000005];
int main(){
	cin>>n>>k;
	long long x,y;
	bool flag=false;
	for(int i=0;i<n;i++){
		cin>>x>>y;
		b[i]=x,a[x]+=y;
	}
	if(k==0){
		for(int i=0;i<n;i++){
			x=b[i];
			if(a[x]>=2){
				flag=true;
				ans=max(ans,a[x]*x);
			}
		}
	}
	else{
		for(int i=0;i<n;i++){
			x=b[i];
			if(a[x+k]){
				flag=true;
				y=min(a[x],a[x+k]);
				ans=max(ans,y*(x+x+k));
			}
		}
	}
	if(flag) cout<<ans;
	else	cout<<"NO";
	return 0;
} 
2020/8/31 13:05
加载中...