社区讨论

求助!!!

P1048[NOIP 2005 普及组] 采药参与者 3已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@m5xelqh2
此快照首次捕获于
2025/01/15 12:30
去年
此快照最后确认于
2025/11/04 11:35
4 个月前
查看原帖
只得了10分 样例过了
求大佬指点
以下是代码
CPP
#include<bits/stdc++.h>
using namespace std;
struct st{
	int s,j;
}a[1000];
int cp(st a,st b){
	return a.j>b.j;
}
int y,n,x,z=1,jj,c,d;
int main(){
	cin>>x>>n;
	for(int i=1;i<=n;i++){
		cin>>y>>jj;
		if(y<=x){
			a[z].s=y;
			a[z++].j=jj;
		}else{
			d++;
		}
	}
	n-=d;
	sort(a+1,a+n+1,cp);
	for(int i=1;i<=n;i++){
		if(a[i].s<=x){
			x-=a[i].s;
			c+=a[i].j;
		}
	}
	cout<<c;
	return 0;
}

回复

5 条回复,欢迎继续交流。

正在加载回复...