Pagini recente » Cod sursa (job #3194680) | Cod sursa (job #1457428) | Cod sursa (job #1211389) | Cod sursa (job #3242692) | Cod sursa (job #3210372)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
int main()
{
int n,i,k=1,v[100001]={0},l[100001]={0},poz[100001]={0},mx=0,maxim=0,sfs=0;
fi>>n;
for(i=0;i<n;i++){
fi>>v[i];
}
for(i=0;i<n;i++){
l[i]=1;
mx=0;
for(int j=i;j>=0;j--){
if(v[i]>v[j]&&mx<l[j]){
l[i]=l[j]+1;
mx=l[j];
}
if(maxim<mx)maxim=mx,sfs=i;
}
}
maxim++;
cout<<maxim<<" "<<sfs<<endl;
for(i=0;i<n;i++){
for(int j=i;j>=0;j--){
if(l[j]==maxim)poz[k]=j+1,cout<<j+1<<" ",maxim--,k++;
}
}
cout<<k-1<<endl;
fo<<k-1<<endl;
for(i=k-1;i>0;i--){
fo<<v[poz[i]-1]<<" ";
}
for(i=0;i<n;i++){
cout<<l[i];
}
}