Pagini recente » Cod sursa (job #3181848) | Cod sursa (job #2585728) | Cod sursa (job #2172105) | Cod sursa (job #2546652) | Cod sursa (job #2571906)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
const int MAX=100000;
int a[MAX],n,v[MAX],maxi=1;
void beolvas(){
f>>n;
for(int i=0;i<n;i++){
f>>a[i];
}
}
int main(){
beolvas();
v[n-1]=1;
for(int i=n-2;i>=0;i--){
for(int j=i+1;j<n;j++){
if(a[i]>a[j])v[i]=1;
else if(a[i]==a[j]&&v[i]<v[j])v[i]=v[j];
else if(a[i]<a[j]&&v[i]<v[j])v[i]=v[j]+1;
if(v[i]>maxi)maxi=v[i];
}
}
cout<<maxi<<'\n';
g<<maxi<<'\n';
for(int i=0;i<n;i++){
if(v[i]==maxi){
maxi--;
cout<<a[i]<<' ';
g<<a[i]<<' ';
}
}
cout<<'\n';
g<<'\n';
return 0;
}