问
  • 板块灌水区
  • 楼主lucy2012
  • 当前回复23
  • 已保存回复23
  • 发布时间2024/8/22 16:04
  • 上次更新2024/8/22 18:11:21
查看原帖
问
1252442
lucy2012楼主2024/8/22 16:04

正解贪心,找中点,0ps,所以QwQ:

#include<bits/stdc++.h>
using namespace std;
long long n,l,r,a[500010],b[500010],ans;
long long f(int x){
	long long sum1=0,sum2=0;
	for(int i=1;i<=n;i++){
		if(a[i]<x)
		    sum1+=b[i]*abs(x-a[i]);
		if(a[i]>x)
		    sum2+=b[i]*abs(x-a[i]);
	}
	return sum1>sum2;
}
int main(){
	cin>>n>>l>>r;
	for(int i=1;i<=n;i++){
		cin>>a[i]>>b[i];
	}
	for(int i=l;i<=r;i++){
		if(f(i)){
			ans=i;
			break;
		}
	}
	cout<<ans;
	return 0;
} 
2024/8/22 16:04
加载中...