30pts做法求hack
查看原帖
30pts做法求hack
1137373
zhangzirui66楼主2024/8/14 11:24
#include<bits/stdc++.h>
using namespace std;
int n, h, cnt, sum, ans;
struct node{
	int a, b;
}x[2005];
bool cmp(node x, node y){
    if(x.a + x.b == y.a + y.b) return x.a > y.a;
	return x.a + x.b > y.a + y.b;
}
int main(){
	cin >> n;
	for(int i = 1; i <= n; i ++) cin >> x[i].a >> x[i].b;
	cin >> h;
	sort(x + 1, x + n + 1, cmp);
	for(int i = 1; i <= n && sum < h; i ++){
		sum += x[i].a;
		cnt ++;
	}
	ans = n - cnt;
	for(int i = cnt; i >= 1; i --){
		if(sum + x[i].b >= h) ans ++, sum -= x[i].a;
	}
	cout << ans;
	return 0;
}

昨天想了一晚上,觉得没问题,就是先搭人梯让其他人上去,然后剩下的人腿短的先走。

2024/8/14 11:24
加载中...