Cod sursa(job #1256689)
| Utilizator | Data | 6 noiembrie 2014 19:19:38 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.79 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int bun[100005], a[100000] ,sir2[100002];
int main()
{
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,mx=0,x=1;
f >> n;
for(int i=1;i<=n;++i)
{
f >> a[i];
}
bun[1]=1;
for(int i=2;i<=n;++i)
{
bun[i]=1;
for(int j=1;j<i;++j)
{
if(a[i]>a[j] && bun[i]<bun[j]+1)
{
bun[i]=1+bun[j];
}
}
if(bun[i]>mx)
{
mx=bun[i];
}
}
g << mx << "\n";
int i=1;
while(x<=mx)
{
if(bun[i]==x)
{
g << a[i] << " ";
++x;
}
++i;
}
return 0;
}
