Mai intai trebuie sa te autentifici.
Cod sursa(job #1013743)
| Utilizator | Data | 21 octombrie 2013 17:42:09 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
using namespace std;
long long v[100000],w[100000],x[100000],n,nr,nrmax;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
void lung(long long p,long long nr) {
for (long long i=p;i<=n;i++)
if (v[i]>w[nr]) {
nr++;
w[nr]=v[i];
lung(i+1,nr);
}
if (nr>nrmax) {
for (long long j=1;j<=nr;j++)
x[j]=w[j];
nrmax=nr;
}
}
int main()
{
fi>>n;
for (long long i=1;i<=n;i++)
fi>>v[i];
for (long long i=1;i<=n;i++) {
nr=0;
lung(i,nr);
}
fo<<nrmax<<'\n';
for (long long i=1;i<=nrmax;i++)
fo<<x[i]<<' ';
return 0;
}
