我感觉这题应该降黄
查看原帖
我感觉这题应该降黄
520777
LaoXu666楼主2022/4/3 09:56

只不过是个贪心 应该降绿/黄 代码:

#include<bits/stdc++.h>
using namespace std;
struct node
{
	int dis, a;
};
node arr[100005];
int DisMax[100005];
int ans[100005];
int sum[100005];
int N;
bool cmp(node a, node b)
{
	return a.a > b.a;
}
int main() {
	cin >> N;
	for (int i = 1; i <= N; i++) cin >> arr[i].dis;
	for (int i = 1; i <= N; i++) cin >> arr[i].a;
	sort(arr + 1, arr + N + 1, cmp);
	for (int i = 1; i <= N; i++) sum[i] = sum[i - 1] + arr[i].a;
	for (int i = 1; i <= N; i++) DisMax[i] = max(DisMax[i - 1], arr[i].dis * 2);
	for (int i = N; i >= 1; i--) ans[i] = max(ans[i + 1], arr[i].dis * 2 + arr[i].a);
	for (int i = 1; i <= N; i++) cout << max(sum[i] + DisMax[i], sum[i - 1] + ans[i]) << '\n';
	return 0;
}
2022/4/3 09:56
加载中...