Pagini recente » Cod sursa (job #520847) | Cod sursa (job #2196752) | Cod sursa (job #1867437) | Cod sursa (job #2191918) | Cod sursa (job #1012489)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100002], m[100002], n, s, mx, pmx;
int main(){
f>>n;
for(int i=1; i<=n; ++i) f>>v[i], m[i]=1;
for(int i=n-1; i>0; --i){
s=0;
for(int j=i+1; j<=n; ++j)
if(v[j]>v[i]&&s<m[j]) s=m[j];
m[i]+=s;
if(m[i]>mx) mx=m[i], pmx=i;
}
g<<mx<<'\n';
for(int i=pmx; i<=n&&mx; ++i)
if(m[i]==mx) g<<v[i]<<' ', mx--;
g.close();
return 0;}