Pagini recente » Cod sursa (job #760639) | Cod sursa (job #2978330) | Cod sursa (job #1509549) | Cod sursa (job #61736) | Cod sursa (job #694984)
Cod sursa(job #694984)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long long n,v[100005],i,j,maxi,best[100005],bun[100005],pi,k;
int main()
{
f>>n;
f>>v[1];
for(i=2;i<=n;i++)
{
f>>v[i];
for(j=1;j<i;j++)
if(v[i]>v[j]&&best[i]<best[j]+1)
best[i]=best[j]+1;
if(best[i]>maxi)
maxi=best[i],pi=i;
}
maxi+=1;
g<<maxi<<'\n';
k=1;
bun[k]=v[pi];
pi--;
maxi--;
for(i=pi;i>=1;i--)
{
if(best[i]<maxi&&bun[k]>v[i])
bun[k+1]=v[i],k++,maxi--;
}
for(i=k;i>=1;i--)
g<<bun[i]<<' ';
f.close();
g.close();
return 0;
}