Pagini recente » Cod sursa (job #1137184) | Cod sursa (job #1693373) | Cod sursa (job #1425435) | Cod sursa (job #374320) | Cod sursa (job #2861563)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int maxcounter(int maxi[],int x,int n){
int maxin=-1;
for(int i=x;i<n;i++){
if(maxi[i]>maxin){
maxin=maxi[i];
}
}
return maxin;
}
int main()
{
int n,temp=-1;
f>>n;
int sor[n];
int maxi[n]={0};
maxi[n-1]=1;
for(int i=0;i<n;i++){
f>>sor[i];
}
for(int i=n-1;i>=0;i--){
temp=maxcounter(maxi,i,n);
for(int j=i;j<n;j++){
if(sor[j]>sor[i]&&temp==maxi[j]){
maxi[i]=temp+1;
}
}
}
g<<temp<<endl;
for(int i=0;i<n;i++){
if(maxi[i]){
g<<sor[i]<<' ';
}
}
return 0;
}