Mai intai trebuie sa te autentifici.
Cod sursa(job #442856)
Utilizator | Data | 15 aprilie 2010 15:42:48 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream fout("scmax.out");
int i, j, n, x[1000], scm[1000], d[1000], mx, pmx;
void display(int i)
{ if(d[i]) display(d[i]);
fout<<x[i]<<' ';
}
int main(){
f>>n;
int max=0;
for(i=1;i<=n;i++)f>>x[i];
for(i=1;i<=n;i++) { max=0;
for(j=i-1;j;j--)if(x[i]>x[j]&&max<scm[j])max=scm[j],d[i]=j;
scm[i]=max+1;
if(mx<scm[i])mx=scm[i],pmx=i;
}
fout<<mx<<'\n';
display(pmx);
f.close();
fout.close();
return 0;
}