社区讨论

为什莫80涅?(窝不是莫队)

P1049[NOIP 2001 普及组] 装箱问题参与者 6已保存回复 7

讨论操作

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

当前回复
7 条
当前快照
1 份
快照标识符
@mhjcu5gq
此快照首次捕获于
2025/11/04 00:28
4 个月前
此快照最后确认于
2025/11/04 00:28
4 个月前
查看原帖
窝是这么想的:
  • 先输入
  • 再自定义一个排序规则
  • 再排序(此时数组从大到小)
  • 然后定义一个剩余变量=v
  • 循环遍历数组,如果剩余变量=0就break并输出它,否则再判断数组[i]是否小于等于剩余,成立就把剩余减去a[i]


于是80
CPP
#include<iostream>
#include<algorithm>
using namespace std;
int v,n;
bool cmp(int x,int y){return x>y;}
int main() {
	cin>>v>>n;
	int a[n];
	for(int i=0;i<n;i++) cin>>a[i];
	sort(a,a+n,cmp);
	int shengyu=v;
	for(int i=0;i<n;i++){
		if(shengyu<=0) break;
		if(a[i]<=shengyu) shengyu-=a[i];
	}
	cout<<shengyu;
	return 0;
}

回复

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

正在加载回复...