Pagini recente » Cod sursa (job #271089) | Cod sursa (job #1365028) | Cod sursa (job #1744921) | Cod sursa (job #2193760) | Cod sursa (job #543527)
Cod sursa(job #543527)
#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;
}