Pagini recente » Cod sursa (job #1732502) | Cod sursa (job #1827) | Cod sursa (job #183557) | Cod sursa (job #1919172) | Cod sursa (job #278339)
Cod sursa(job #278339)
#include<stdio.h>
#include<algorithm>
#include<string.h>
#define NMAX 1000002
using namespace std;
int a[NMAX],n,nr;
int maxx[NMAX];
int minn[NMAX];
int max(int a,int b)
{
if(a>b)
return a;
else return b;
}
int este(int pz)
{
if(pz==imp)
for(int i=pz+1;i<=(pz-1)*2;i++)
minn[++nr]=a[i];
else {nr-=2;
minn[++nr]=a[i+1];
}
sort(minn+1,nr+1);
if(minn[1]<a[pz]) return 0;
return 1;
}
int main()
{
freopen("compus.in","r",stdin);
freopen("compus.out","w",stdout);
scanf("%d",&n);
int imp;
if(n%2!=0)
imp=n/2+1;
else imp=n/2;
for(int i=1;i<=n;i++)
{scanf("%d ",&a[i]);
if(i<=imp)
maxx[i]=max(maxx[i-1],a[i]);
}
for(int i=imp;i>=1;i--)
{
if(maxx[i]<=a[i]&&este(i))
{printf("%d\n",i*2-1);
return 0;
}
}
return 0;
}