Cod sursa(job #1042845)

Utilizator vladvaldezVlad Dimulescu vladvaldez Data 27 noiembrie 2013 18:56:27
Problema Subsir 2 Scor 18
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>

using namespace std;
FILE *f=fopen("subsir2.in","r");
FILE *g=fopen("subsir2.out","w");

int best[5004],v[5004],i,j,n,min1,mn,ok,ll,t[5004],r;

int main()
{
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
best[n]=1;
for(i=n-1;i>=1;i--)
{
ok=0; min1=1000005;
mn=1000005;
for(j=i+1;j<n;j++)
if (v[j]>=v[i] && v[j]<mn)
{
 if (min1>=best[j]){min1=best[j];ll=j;}
mn=v[j];
ok=1;
}
if (ok==1){best[i]=min1+1;t[i]=ll;}
else {best[i]=1;t[i]=i;}
if (best[i]>=r)r=best[i];
}

fprintf(g,"%d",r);
fclose(g);
return 0;
}