Cod sursa(job #1054180)
| Utilizator | Data | 13 decembrie 2013 14:23:07 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include<fstream>
using namespace std;
int v[100001],i,n,j,k,b[100001];
ifstream f("scmax.in");
ofstream g("scmax.out");
void rez()
{
unsigned int max,ok,x=0;
for(i=1;i<=n;i++)
{
max=0;
for(j=1;j<i;j++)
if(v[j]<v[i]&&b[j]>max)
max=b[j];
b[i]=max+1;
if(x<b[i])
x=b[i];
}
max=0;
g<<x<<endl;
for(i=1;i<=n;i++)
if(max<b[i])
{
g<<v[i]<<" ";
max=b[i];
}
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
rez();
return 0;
}
