Cod sursa(job #1072822)
| Utilizator | Data | 4 ianuarie 2014 22:27:26 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 35 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int i, j, n, bestest, best[100000], v[100000];
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
bestest = 1;
for(i=1; i<=n; i++){
f>>v[i];
best[i]=1;
for(j=1; j<=i; j++)
{
if(v[j]<v[i] && best[j]+1 > best[i]) best[i]+=1;
if(best[i]>bestest){ bestest = best[i]; j=i+1;}
}
}
g<<bestest<<"\n";
for(i=n; i>=1 && bestest; i--)
{
if(best[i] == bestest){ g<<v[i]<<' '; bestest--;}
}
return 0;
}
