| 15877 | 2025-03-07 12:03:06 | UVince | Picnic's Table | cpp17 | Wrong answer 0/100 | 2.035s | 253232 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
ll n;
cin>>n;
vector<ll> h(n+2);
vector<ll> l(n+1),r(n+1);
h[0]=LLONG_MAX;
h[n+1]=LLONG_MAX;
for (ll i=1;i<=n;i++) cin>>h[i];
stack<ll> mx;
mx.push(0);
for (ll i=1;i<=n;i++){
while (!mx.empty() && h[mx.top()]<=h[i]) mx.pop();
l[i]=mx.top();
mx.push(i);
}
stack<ll> mx2;
mx2.push(n+1);
for (ll i=n;i>=1;i--){
while (!mx2.empty() && h[mx2.top()]<=h[i]) mx2.pop();
r[i]=mx2.top();
mx2.push(i);
}
ll ans=0;
stack<ll> st;
st.push(0);
for (ll i=1;i<=n;i++){
ll last=-1;
while (!st.empty() && h[st.top()]<=h[i]) {last=st.top();st.pop();}
st.push(i);
if (last==-1 || h[last]!=h[i]) continue;
ll left=l[last]+1;
ll right=r[i]-1;
ll cur=i-last+1;
if (last-left<right-i){
cur+=2*(last-left);
ll mid = (last+i)/2;
ll push = (i-mid)*2-1;
if (mid*2!=last+i) push--;
cur+=min(right-i, push);
}
else {
cur+=2*(right-i);
ll mid = (last+i)/2;
ll push = (mid-last)*2-1;
if (mid*2!=last+i) push++;
cur+=min(last-left, push);
}
ans=max(ans, cur);
}
cout<<ans;
}| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 1ms | 316 KiB | ||||
| subtask2 | 0/10 | ||||||
| 3 | Accepted | 1ms | 496 KiB | ||||
| 4 | Accepted | 1ms | 316 KiB | ||||
| 5 | Wrong answer | 105ms | 23860 KiB | ||||
| 6 | Accepted | 114ms | 23852 KiB | ||||
| 7 | Accepted | 108ms | 23836 KiB | ||||
| subtask3 | 0/15 | ||||||
| 8 | Accepted | 1ms | 508 KiB | ||||
| 9 | Accepted | 1ms | 316 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Wrong answer | 1ms | 500 KiB | ||||
| 12 | Accepted | 1ms | 316 KiB | ||||
| 13 | Wrong answer | 1ms | 376 KiB | ||||
| 14 | Accepted | 1ms | 316 KiB | ||||
| subtask4 | 0/15 | ||||||
| 15 | Wrong answer | 2ms | 508 KiB | ||||
| 16 | Wrong answer | 1ms | 508 KiB | ||||
| 17 | Accepted | 1ms | 316 KiB | ||||
| 18 | Accepted | 2ms | 316 KiB | ||||
| 19 | Accepted | 2ms | 316 KiB | ||||
| 20 | Accepted | 1ms | 316 KiB | ||||
| 21 | Accepted | 2ms | 316 KiB | ||||
| subtask5 | 0/25 | ||||||
| 22 | Accepted | 20ms | 2700 KiB | ||||
| 23 | Wrong answer | 19ms | 2724 KiB | ||||
| 24 | Accepted | 20ms | 2612 KiB | ||||
| 25 | Accepted | 1ms | 364 KiB | ||||
| 26 | Wrong answer | 18ms | 2612 KiB | ||||
| 27 | Wrong answer | 1ms | 512 KiB | ||||
| 28 | Accepted | 1ms | 500 KiB | ||||
| 29 | Accepted | 18ms | 2788 KiB | ||||
| 30 | Wrong answer | 14ms | 2796 KiB | ||||
| subtask6 | 0/35 | ||||||
| 31 | Accepted | 1.766s | 253232 KiB | ||||
| 32 | Accepted | 1.963s | 251916 KiB | ||||
| 33 | Accepted | 1.843s | 250932 KiB | ||||
| 34 | Accepted | 2.035s | 251968 KiB | ||||
| 35 | Accepted | 1ms | 316 KiB | ||||
| 36 | Accepted | 1.585s | 235192 KiB | ||||
| 37 | Wrong answer | 1.488s | 235060 KiB | ||||
| 38 | Wrong answer | 1ms | 316 KiB | ||||
| 39 | Accepted | 1ms | 316 KiB | ||||
| 40 | Wrong answer | 1.366s | 235060 KiB | ||||