就是看不出错哪了?
查看原帖
就是看不出错哪了?
719843
lizhuorong楼主2023/12/23 14:07

代码请看:

#include<bits/stdc++.h>
using namespace std;
struct node{
	int a,b;
}s[100001]; 
bool cmp(node a,node b){
	return a.b<b.b;
}
int main(){
	int n,r,avg;
	cin>>n>>r>>avg;
	long long zs=n*avg;
	long long zs2=0;
	for(int i=0;i<n;i++){
		cin>>s[i].a >>s[i].b;
		zs2+=s[i].a;
	}
	if(zs2>=zs){
		cout<<"0";
		return 0;
	}
	sort(s,s+n,cmp);
	int i=0;
	long long lw=0;
	while(zs2<zs){
		if(s[i].a<r){
			zs2+=s[i].b ;
			lw+=s[i].b;
			s[i].a++;
		}
		else{
			i++;
		}
	}
	cout<<lw;
}
2023/12/23 14:07
加载中...