| 15880 | 2025-03-07 12:35:22 | UVince | Picnic's Table | cpp17 | Elfogadva 100/100 | 2.167s | 235316 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;
st.pop();
st.push(last);
ll left=l[last]+1;
ll right=r[i]-1;
ll cur=i-last+1;
if (last-left<right-i){
cur+=2*(last-left);
right-=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);
left+=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;
}| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 508 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| subtask2 | 10/10 | ||||||
| 3 | Elfogadva | 1ms | 316 KiB | ||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Elfogadva | 109ms | 23672 KiB | ||||
| 6 | Elfogadva | 119ms | 23916 KiB | ||||
| 7 | Elfogadva | 112ms | 23864 KiB | ||||
| subtask3 | 15/15 | ||||||
| 8 | Elfogadva | 1ms | 316 KiB | ||||
| 9 | Elfogadva | 1ms | 316 KiB | ||||
| 10 | Elfogadva | 1ms | 500 KiB | ||||
| 11 | Elfogadva | 1ms | 316 KiB | ||||
| 12 | Elfogadva | 1ms | 316 KiB | ||||
| 13 | Elfogadva | 1ms | 316 KiB | ||||
| 14 | Elfogadva | 1ms | 316 KiB | ||||
| subtask4 | 15/15 | ||||||
| 15 | Elfogadva | 2ms | 316 KiB | ||||
| 16 | Elfogadva | 1ms | 316 KiB | ||||
| 17 | Elfogadva | 1ms | 316 KiB | ||||
| 18 | Elfogadva | 2ms | 320 KiB | ||||
| 19 | Elfogadva | 2ms | 316 KiB | ||||
| 20 | Elfogadva | 1ms | 316 KiB | ||||
| 21 | Elfogadva | 2ms | 316 KiB | ||||
| subtask5 | 25/25 | ||||||
| 22 | Elfogadva | 21ms | 2612 KiB | ||||
| 23 | Elfogadva | 21ms | 2612 KiB | ||||
| 24 | Elfogadva | 21ms | 2612 KiB | ||||
| 25 | Elfogadva | 1ms | 316 KiB | ||||
| 26 | Elfogadva | 20ms | 2612 KiB | ||||
| 27 | Elfogadva | 1ms | 512 KiB | ||||
| 28 | Elfogadva | 1ms | 316 KiB | ||||
| 29 | Elfogadva | 19ms | 2612 KiB | ||||
| 30 | Elfogadva | 14ms | 2788 KiB | ||||
| subtask6 | 35/35 | ||||||
| 31 | Elfogadva | 1.86s | 235160 KiB | ||||
| 32 | Elfogadva | 2.099s | 235060 KiB | ||||
| 33 | Elfogadva | 2.048s | 235252 KiB | ||||
| 34 | Elfogadva | 2.167s | 235316 KiB | ||||
| 35 | Elfogadva | 1ms | 316 KiB | ||||
| 36 | Elfogadva | 1.664s | 235064 KiB | ||||
| 37 | Elfogadva | 1.616s | 235176 KiB | ||||
| 38 | Elfogadva | 1ms | 316 KiB | ||||
| 39 | Elfogadva | 1ms | 316 KiB | ||||
| 40 | Elfogadva | 1.485s | 235060 KiB | ||||