社区讨论

不对

P2240【深基12.例1】部分背包问题参与者 2已保存回复 4

讨论操作

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

当前回复
4 条
当前快照
1 份
快照标识符
@lzsa377g
此快照首次捕获于
2024/08/13 18:27
2 年前
此快照最后确认于
2024/08/13 20:53
2 年前
查看原帖
大佬们帮我看看,怎么改?``` #include <bits/stdc++.h> using namespace std;
struct node { double I, m, V, v; }; node a[1000];
bool cmp(node a, node b) { if (a.v != b.v) { if (a.m > b.m) return a.v * b.m > b.v * a.m; } } double dp, jz;
int main() { int n, t; cin >> n >> t; for (int i = 1; i <= n; i++) { a[i].I = i; cin >> a[i].m >> a[i].V; a[i].v = a[i].V * 1.00 / a[i].m; } sort(a + 1, a + n + 1, cmp); for (int i = 1; i <= n; i++) {
CPP
	if (dp <= t) {
		dp += a[i].m;
		jz += a[i].V;
	} else {
		int num = t - dp;
		jz += a[i].v * num;
	}

}
cout << jz;
return 0;
}
CPP

回复

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

正在加载回复...