社区讨论

90分求助,WA了一个点

P8444不等价交换法则参与者 4已保存回复 7

讨论操作

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

当前回复
7 条
当前快照
1 份
快照标识符
@lo8hc76p
此快照首次捕获于
2023/10/27 18:37
2 年前
此快照最后确认于
2023/10/27 18:37
2 年前
查看原帖
CPP
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e6 + 10;
long long n, a[N], w, m, s, res;
int main(void) {
	scanf("%lld", &n);
	for (int i = 0; i < n; ++i) scanf("%lld", &a[i]);
	sort(a, a + n);
	scanf("%lld", &w);
	int l = 0, r = n - 1;
	while (l < r) {
		int mid = l + r + 1 >> 1;
		if (a[mid] <= w) l = mid;
		else r = mid - 1;
	}
	m = a[l];
	for (int i = 0; i < n; ++i) {
		s += a[i];
		++res;
		if (s > m) break;
	}
	cout << res - 1 << endl;
	return 0;
}

回复

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

正在加载回复...