Cod sursa(job #253123)
Utilizator | FMI - Petcu Ion Cristian jean | Data | 5 februarie 2009 14:31:00 |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream.h>
int v[100010],a[100010],max,max1,poz,poz1,i,j,n;
int main()
{
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for(i=1;i<=n;i++) f>>v[i];
a[n]=1;
for(i=n-1;i>0;i--)
{ max1=0; poz1=0;
for(j=i+1;j<=n;j++)
if(v[j]>v[i]) if(a[j]>max1) {max1=a[j]; poz1=j;}
a[i]=a[poz1]+1;
if(a[i]>max) {max=a[i]; poz=i;}
}
g<<max<<'\n';
while(max)
if(a[poz]==max) {g<<v[poz]<<" "; max--;}
else poz++;
f.close();
g.close();
return 0;
}