Pagini recente » Cod sursa (job #559635) | Cod sursa (job #2761331) | Cod sursa (job #1321718) | Cod sursa (job #441700) | Cod sursa (job #871230)
Cod sursa(job #871230)
#include<fstream>
#include<vector>
using namespace std;
vector<int> v, x;
//vector<int>::iterator it;
int n, a, mx, pmax, s;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main(){
f>>n;
for(int i=0; i<n;++i) f>>a, x.push_back(a), v.push_back(1);
for(int i=n-2; i>=0;--i){
s=0;
for(int j=i+1; j<n; ++j)
if(x[i]<x[j]&&s<v[j]) s=v[j];
v[i]+=s;
if(mx<v[i]) mx=v[i], pmax=i;
}
g<<mx<<'\n';
for(int i=pmax; v[i]>0;++i){
g<<x[i]<<' ';
int j=i-1;
while(1){
if(x[j]>x[i]&&v[j]==v[i]-1) {i=j-1; break;}
++j;
}
}
g.close();
return 0;
}