Pagini recente » Cod sursa (job #2605192) | Cod sursa (job #425031) | Cod sursa (job #2021402) | Cod sursa (job #2083441) | Cod sursa (job #286693)
Cod sursa(job #286693)
#include<fstream.h>
#define max 100001
int l[max],v[max],n,s[max];
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
int k=1,i,j,x;
f>>n>>v[1];
s[k]=v[1];
l[1]=1;
for (i=2;i<=n;i++)
{
f>>v[i];
for (j=1;j<=k;j++)
if (s[j]>=v[i]) {s[j]=v[i];l[i]=j;break;}
else
if (s[k]<v[i]){s[++k]=v[i];l[i]=j;}
}
g<<k<<'\n';
x=k;
for (j=n;j>=1;j--)
if (l[j]==k)
{
if(s[k]!=v[j]) s[k]=v[j];
k--;
}
for (i=1;i<=x;i++) g<<s[i]<<" ";
//cout<<'\n';
//for (i=1;i<=n;i++) cout<<l[i]<<" ";
return 0;
}