Pagini recente » Cod sursa (job #995660) | Borderou de evaluare (job #1772007) | Borderou de evaluare (job #1566247) | Cod sursa (job #3278590) | Cod sursa (job #543523)
Cod sursa(job #543523)
#include<fstream.h>
int main()
{
long long a[100000],min[100000]={0},n,k,j,i,b[100000]={0};
ifstream f("scmax.in");
f>>n;
k=0;
f>>a[0];
min[0]=a[0];
for(i=1;i<n;i++)
{
f>>a[i];
if(a[i]<min[0]) min[0]=a[i];
for(j=k;j>0;j--)
if(a[i]<min[j]&&a[i]>min[j-1])
{min[j]=a[i]; b[i]=j;
if(a[i]>min[k]) {k++; min[k]=a[i]; b[i]=k;}
}
f.close();
ofstream g("scmax.out");
g<<k+1<<'\n';
for(i=n-1;k!=0;i--)
if(b[i]==k) {g<<a[i]<<" "; k--;}
g.close();
return 0;
}