社区讨论

脑袋转不过来了为啥要加一才能过捏?

P2676[USACO07DEC] Bookshelf B参与者 3已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@lo7mkv4l
此快照首次捕获于
2023/10/27 04:16
2 年前
此快照最后确认于
2023/10/27 04:16
2 年前
查看原帖
大佬们请看最后几行break前的那个输出,为啥我加一才能过?
CPP
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
	int n;
	int crow[20001];
	unsigned long long high,total=0;
	cin >> n>>high;
	for (int i = 1; i <= n; i++)
	{
		scanf("%d", &crow[i]);
	}
	sort(crow + 1, crow + n + 1);
	for (int i = n; i >= 1; i--)
	{
		total += crow[i];
		if (total >= high) {
			cout << n+1 - i;
			break;
		}
	}
	return 0;
}

回复

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

正在加载回复...