Cod sursa(job #1024833)
| Utilizator | Data | 9 noiembrie 2013 10:32:24 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
#include <math.h>
using namespace std;
int v[100005], x[100005], p[100005];
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
int n, i, j, k=0, l, maxl=0, minim, caca;
f>>n;
for(i=1;i<=n;i++) f>>v[i];
for(i=2;i<=n;i++) for(j=1;j<i;j++) if(v[j]<v[i]) x[i]++;
for(k=0;k<n;k++) {
minim=666;
caca=0;
for(l=1;l<=n;l++) if(x[l]==k) {minim=min(minim, v[l]); caca=1;}
if(caca) {maxl++; p[maxl]=minim;}
}
g<<maxl<<'\n';
for(i=1;i<=maxl;i++) g<<p[i]<<" ";
return 0;
}
