零分求调
查看原帖
零分求调
534518
Before_Dream楼主2024/12/10 22:37

考场拿了满分,在洛谷评测拿了零分,求调ToT.

#include<bits/stdc++.h>
using namespace std;
struct node{
	int p,c;
}farm[100005];
int n,m,cnt,x,a,b,g[100005];
bool cmp(node a,node b){
	return a.p < b.p;
}
int main(){
	cin >> n >> m >> x;
	for(int i = 1;i <= n;i++) cin >> farm[i].p >> farm[i].c;
	for(int i = 1;i <= m;i++){
		cin >> a >> b;
		cnt += 2 * b * x;
		g[i] = 2 * a - 2 * b;
	}
	sort(g + 1,g + m + 1);
	sort(farm + 1,farm + n + 1,cmp);
	for(int i = 1,j = n;i <= m && g[i] <= 0;i++){
		if(!farm[j].c) j--;
		cnt += g[i] * farm[j].p;
		farm[j].c--;
	}
	for(int i = m,j = 1;i > 0 && g[i] > 0;i--){
		if(!farm[j].c) j++;
		cnt += g[i] * farm[j].p;
		farm[j].c--;
	}
	cout<<cnt;
	return 0;
}
2024/12/10 22:37
加载中...