Pagini recente » Cod sursa (job #2435) | Cod sursa (job #1488014) | Cod sursa (job #2533247) | Cod sursa (job #3179718) | Cod sursa (job #1633941)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int k=1,i,j,x;
int l[10001],v[100001],n,s[100001];
int main()
{
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]<<" ";
return 0;
}