Pagini recente » Cod sursa (job #2196149) | Cod sursa (job #331463) | Cod sursa (job #685217) | Cod sursa (job #32813) | Cod sursa (job #677950)
Cod sursa(job #677950)
#include<iostream>
#include<fstream>
using namespace std;
int a[200];
std::ofstream g ("scmax.out");
void drum(int n,int v[],int urm[]){
if(urm[n]==-1)
g<<v[n];
else
{
g<<v[n]<<" ";
drum(urm[n],v,urm);
}
}
int main(){
int v[200],urm[200],i,n,max,ml,j;
ifstream f ("scmax.in");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
a[n]=1;
urm[n]=-1;
max=0;
int ind;
//cout<<"v"<<" "<<"i"<<" "<<"a"<<" "<<"u"<<endl;
for(i=n-1;i!=0;i--){
urm[i]=-1;
ml=0;
for(j=i+1;j<=n;j++)
{
if(a[j]>ml && v[i]<v[j])
{
ml=a[j];
urm[i]=j;
}
}
ml++;
//cout<<v[i]<<" "<<i<<" "<<ml<<" "<<urm[i]<<endl;
a[i]=ml;
if(ml>max)
max=ml;
ind=i+1;
}
g<<max<<endl;
drum(ind,v,urm);
return 1;
}