社区讨论
100ptsWA on hack #1
P1725琪露诺参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mhj00l4o
- 此快照首次捕获于
- 2025/11/03 18:29 4 个月前
- 此快照最后确认于
- 2025/11/03 18:29 4 个月前
100pts
cout 0 on hack #1
CPP#include <bits/stdc++.h>
using namespace std;
const int N = 4e5 + 1e2;
int n,l,r,a[N],j,ans,f[N];
int q[N],last = -1,first = 0;
int main() {
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin >> n >> l >> r;
for(int i = 0;i <= n;i ++) cin >> a[i];
for(int i = 1;i <= n;i ++) f[i] = INT_MIN;
for(int i = 1;i <= n + r;i ++) {
while(i - j >= l && j < i) {
if(f[j] != INT_MIN) {
while(f[q[last]] <= f[j] && first <= last) last --;
q[++ last] = j;
}
j ++;
}
while(i - q[first] > r && first <= last) first ++;
if(first <= last) f[i] = a[i] + f[q[first]];
}
// for(int i = 1;i < n + r;i ++) cout << f[i] << ' ';
// cout << '\n';
for(int i = n + 1;i <= n + r;i ++) ans = max(ans,f[i]);
cout << ans << '\n';
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...