Pagini recente » tema | Istoria paginii runda/cercel_e_gay_runda_2/clasament | tema | Cod sursa (job #3296623) | Cod sursa (job #808995)
Cod sursa(job #808995)
#include <fstream>
#define Nmax 100004
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[Nmax],lgmax[Nmax],urm[Nmax];
int n;
void citire();
void pd();
void citire(){
int i;
fin>>n;
for(i=0;i<n;i++)
fin>>a[i];
}
int main(){
citire();
pd();
fout.close();
return 0;
}
void pd(){
int lungmx,j,i,lungmxtot=0,maxi;
lgmax[n-1]=1;
for(i=n-2;i>=0;i--){
lungmx=1;
for(j=i+1;j<=n-1;j++)
if(a[i]<a[j])//am gasit solutie
if(1+lgmax[j]>lungmx)
lungmx=1+lgmax[j];
lgmax[i]=lungmx;//1 daca nu s-a gasit solutie si >1 daca am gasit
if(lungmx>lungmxtot){
lungmxtot=lungmx;
maxi=i;
}
}
/*for(j=0;j<n;j++)
fout<<lgmax[j]<<' ';
fout<<lungmxtot;*///afisarea s-a realizat cu succes
//afisarea propiuzisa
fout<<lungmxtot<<'\n';
for(i=maxi;i<n;i++){
if(lgmax[i]==lungmxtot){
fout<<a[i]<<' ';
lungmxtot--;
}
}
}