QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#756837 | #5122. Strange Sum | hikaritocm# | WA | 1ms | 6124kb | C++14 | 1016b | 2024-11-16 22:12:51 | 2024-11-16 22:12:53 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
vector<int> tree(400005,-1e9-5);
void upd(int node, int l, int r, int pos, int val){
if(l==r) tree[node]=val;
else{
int mid=(l+r)/2;
if(pos<=mid)upd(node*2,l,mid,pos,val);
else upd(node*2+1,mid+1,r,pos,val);
tree[node]=max(tree[node*2],tree[node*2+1]);
}
}
int query(int node, int l, int r, int lx, int rx){
if(lx<=l and r<=rx){
return tree[node];
}
if(r<lx or rx<l){
return -1e9-5;
}
int mid=(l+r)/2;
return max(query(node*2,l,mid,lx,rx),query(node*2+1,mid+1,r,lx,rx));
}
void solve(){
int n;
cin>>n;
int ans=0;
vector<int> a(n+1);
vector<int> mx(n+1);
for(int i=1; i<=n; i++){
cin>>a[i];
upd(1,1,n,i,a[i]);
// ans=max(ans,a[i]+)
}
for(int i=1; i<=n; i++){
int j=i+i-1;
j=min(j,n);
ans=max(ans,a[i]+query(1,1,n,i+1,j));
}
cout<<ans<<endl;
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
int t=1;
// cin>>t;
while(t--) solve();
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 5892kb
input:
4 1 4 3 2
output:
7
result:
ok 1 number(s): "7"
Test #2:
score: 0
Accepted
time: 1ms
memory: 5932kb
input:
3 -10 -10 -10
output:
0
result:
ok 1 number(s): "0"
Test #3:
score: 0
Accepted
time: 1ms
memory: 5892kb
input:
2 -394027216 -486855090
output:
0
result:
ok 1 number(s): "0"
Test #4:
score: 0
Accepted
time: 0ms
memory: 6124kb
input:
3 -357735986 584247758 118625500
output:
702873258
result:
ok 1 number(s): "702873258"
Test #5:
score: -100
Wrong Answer
time: 1ms
memory: 6016kb
input:
100 56104366 -596757183 -563118094 -754585503 -108568019 320836846 955898372 745823264 942812454 -13940121 510253952 538293489 -683482556 159329401 -488586607 718665544 -560503132 167141318 -121480647 873802880 -642178792 64201005 -768929811 383561940 -993409166 441561051 -205099595 858985447 181520...
output:
1918997353
result:
wrong answer 1st numbers differ - expected: '1932124867', found: '1918997353'