Pagini recente » Cod sursa (job #45459) | Cod sursa (job #1439521) | Cod sursa (job #1410127) | Cod sursa (job #418691) | Cod sursa (job #433235)
Cod sursa(job #433235)
#include<iostream>
#include<fstream>
#define MAX_N 100005
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int N, v[MAX_N], D[MAX_N], k, i, j, poz, maxim, mx;
int main()
{
fin>>N;
for(i=1;i<=N;i++)
fin>>v[i];
D[N] = 1;
for(k=N-1;k>=1;k--)
{
int mx=0;
for(j=k+1;j<=N;j++)
if(v[j]>v[k] && D[j]>mx)
mx = D[j];
D[k] = mx + 1;
if(D[k] > maxim)
{
maxim = D[k];
poz = k;
}
}
fout<<maxim<<"\n";
fout<<v[poz]<<" ";
for(i=poz+1;i<=N;i++)
if(D[i] == maxim - 1)
{
fout<<v[i]<<" ";
maxim--;
}
return 0;
}