80分 WA求调(听灌佬多
  • 板块灌水区
  • 楼主jinzhihui
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/21 19:33
  • 上次更新2024/7/21 20:33:33
查看原帖
80分 WA求调(听灌佬多
671640
jinzhihui楼主2024/7/21 19:33

题目

#include<bits/stdc++.h>
using namespace std;
const int N=2005;
int n,h,sum,cnt,id[N];
struct A{
	int a,b,c;
}s[N];
bool cmp(A a,A b){
	if(a.c==b.c) return a.a<b.a;
	return a.c<b.c;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>s[i].a>>s[i].b;
		s[i].c=s[i].a+s[i].b;
		sum+=s[i].a;
	}
	cin>>h;
	sort(s+1,s+n+1,cmp);
	for(int i=1;i<=n;i++){
		if(sum+s[i].b>=h) id[++cnt]=i,sum-=s[i].a;
		else{
			int maxn=0;
			for(int j=1;j<=cnt;j++){
				maxn=max(maxn,s[id[j]].a);
			}
			sum+=max(maxn-s[i].a,0);
		}
	}
	cout<<cnt;
	return 0;
}



2024/7/21 19:33
加载中...