Cod sursa(job #720518)
Utilizator | Dumitru Andreea dumitruandr | Data | 22 martie 2012 18:30:02 |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
using namespace std;
int n,i,j,l,k,a[101],m[101],b[101];
int main(){
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for (i=1;i<=n;i++){
f>>a[i];
m[i]=1;
for (j=i-1;j>=1;j--)
if (a[j]<a[i]&&m[j]>=m[i])
m[i]=m[j]+1;
if (m[i]>l)
l=m[i];
}
g<<l<<'\n';
k=l;
for (i=n;i>=1;i--)
if (m[i]==l){
b[l]=a[i];
l--;}
for (i=1;i<=k;i++)
g<<b[i]<<' ';
return 0;}