| 15874 | 2025-03-07 11:47:43 | UVince | Picnic's Table | cpp17 | Hibás válasz 0/100 | 2.608s | 211764 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main(){
ll n;
cin>>n;
vector<ll> h(n+2);
vector<int> l(n+1),r(n+1);
h[0]=LLONG_MAX;
h[n+1]=LLONG_MAX;
for (int i=1;i<=n;i++) cin>>h[i];
stack<int> mx;
mx.push(0);
for (int i=1;i<=n;i++){
while (!mx.empty() && h[mx.top()]<=h[i]) mx.pop();
l[i]=mx.top();
mx.push(i);
}
stack<int> mx2;
mx2.push(n+1);
for (int 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<int> st;
st.push(0);
for (int i=1;i<=n;i++){
int 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;
int left=l[last]+1;
int right=r[i]-1;
ll cur=i-last+1;
if (last-left<right-i){
cur+=2*(last-left);
int mid = (last+i)/2;
int push = (i-mid)*2-1;
if (mid*2!=last+i) push++;
cur+=min(right-i, push);
}
else {
cur+=2*(right-i);
int mid = (last+i)/2;
int 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 | 0/10 | ||||||
| 3 | Elfogadva | 1ms | 316 KiB | ||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Hibás válasz | 206ms | 17964 KiB | ||||
| 6 | Elfogadva | 209ms | 17848 KiB | ||||
| 7 | Elfogadva | 211ms | 17972 KiB | ||||
| subtask3 | 0/15 | ||||||
| 8 | Elfogadva | 1ms | 316 KiB | ||||
| 9 | Elfogadva | 1ms | 316 KiB | ||||
| 10 | Elfogadva | 1ms | 316 KiB | ||||
| 11 | Hibás válasz | 1ms | 508 KiB | ||||
| 12 | Elfogadva | 1ms | 316 KiB | ||||
| 13 | Hibás válasz | 1ms | 316 KiB | ||||
| 14 | Elfogadva | 1ms | 316 KiB | ||||
| subtask4 | 0/15 | ||||||
| 15 | Hibás válasz | 4ms | 416 KiB | ||||
| 16 | Hibás válasz | 1ms | 316 KiB | ||||
| 17 | Elfogadva | 1ms | 316 KiB | ||||
| 18 | Elfogadva | 4ms | 316 KiB | ||||
| 19 | Elfogadva | 3ms | 520 KiB | ||||
| 20 | Elfogadva | 1ms | 316 KiB | ||||
| 21 | Elfogadva | 3ms | 316 KiB | ||||
| subtask5 | 0/25 | ||||||
| 22 | Hibás válasz | 52ms | 2864 KiB | ||||
| 23 | Hibás válasz | 50ms | 2732 KiB | ||||
| 24 | Elfogadva | 52ms | 2864 KiB | ||||
| 25 | Elfogadva | 1ms | 316 KiB | ||||
| 26 | Hibás válasz | 50ms | 2868 KiB | ||||
| 27 | Hibás válasz | 1ms | 512 KiB | ||||
| 28 | Elfogadva | 1ms | 508 KiB | ||||
| 29 | Elfogadva | 50ms | 2732 KiB | ||||
| 30 | Hibás válasz | 32ms | 2544 KiB | ||||
| subtask6 | 0/35 | ||||||
| 31 | Időlimit túllépés | 2.599s | 209584 KiB | ||||
| 32 | Időlimit túllépés | 2.601s | 210864 KiB | ||||
| 33 | Időlimit túllépés | 2.601s | 211764 KiB | ||||
| 34 | Időlimit túllépés | 2.601s | 210740 KiB | ||||
| 35 | Elfogadva | 1ms | 316 KiB | ||||
| 36 | Időlimit túllépés | 2.592s | 208188 KiB | ||||
| 37 | Időlimit túllépés | 2.594s | 205876 KiB | ||||
| 38 | Hibás válasz | 1ms | 316 KiB | ||||
| 39 | Elfogadva | 1ms | 316 KiB | ||||
| 40 | Időlimit túllépés | 2.608s | 202480 KiB | ||||