社区讨论
求助P2672
灌水区参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo137scm
- 此快照首次捕获于
- 2023/10/22 14:28 2 年前
- 此快照最后确认于
- 2023/11/02 13:57 2 年前
rt,算法好像有点问题,样例能过但是点一个都过不了
CPP#include <bits/stdc++.h>
#define N 100005
#define INF 0x3f3f3f3f
using namespace std;
long long n, mxlen[N], q[N];
struct Home{
long long s, a;
long long sum;
};
Home home[N];
bool cmp(Home a, Home b) {
return a.sum > b.sum;
}
int main () {
cin >> n;
for(int i = 1;i <= n;i++) {
cin >> home[i].s;
}
for(int i = 1;i <= n;i++) {
cin >> home[i].a;
home[i].sum=home[i].a+home[i].s;
}
// Home tmp;
// for(int i = 1;i <= n;i++) {
// tmp[i].s=home[i].s, tmp[i].a=home[i].a, tmp[i].sum=home[i].sum;
// }
// sort(tmp+1, tmp+1+n, cmp);
sort(home+1, home+1+n, cmp);
for(int i = 1;i <= n;i++) {
mxlen[i]=max(mxlen[i-1], home[i].s);
q[i]=q[i-1]+home[i].a;
}
for(int i = 1;i <= n;i++) {
cout << 2*mxlen[i]+q[i] << endl;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...