Pagini recente » Cod sursa (job #1009948) | Cod sursa (job #1269048) | Cod sursa (job #2743467) | Cod sursa (job #2076438) | Cod sursa (job #2277486)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int i, j, a[100000] ,N, imax=0, imin;
ifstream fin("scmax.in");
fin>>N;
imin=N;
int dp[100005];
for( i=1; i<=N; ++i)
fin>>a[i];
for(i=1; i<=N; ++i){
for(j=1; j<i; ++j){
if(a[j]<a[i]){
imax++;
if(imin>i)
imin=i;
dp[imax]=max(dp[i], dp[j]+1);
}
}
}
/*for(int i=1;i<imax; ++i)
cout<<dp[i]<<" ";
cout<<endl;*/
ofstream fout("scmax.out");
fout<<imax-2<<"\n";
for(int i=imin-1; i<imin+imax-2; ++i){
if(a[i]!= a[i+1])
fout<<a[i]<<" ";
}
return 0;
}