Cod sursa(job #247636)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 23 ianuarie 2009 15:54:58
Problema Secv Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>

int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);

int n,i,j,A[5001],l[5001],max;
bool use[5001];
scanf("%d\n",&n);
for (i=1;i<=n;i++) scanf("%d",&A[i]),use[A[i]]=1;

l[n]=1,max = n;
for (i=n-1;i;i--)
{
l[i] = 0;
for (j=i+1;j<=n;j++) if (A[i]<A[j]) if (l[i]<=l[j]) l[i] = l[j]+1;
if (l[max]<l[i]) max=i;
}
int x=l[max];
i=max;
use[A[max]]=0;
x--;
while (x)
{
//while (l[i]!=x) i++;
use[A[i]]=0;
x--;
}
for (j=1;j<=n;j++) if (use[A[j]]==1) {j=-1;break;}
if (j==-1) printf("-1");
else printf("%d",i-max+1);
}