Pagini recente » Cod sursa (job #1762020) | Cod sursa (job #2680740) | Cod sursa (job #3209752) | Cod sursa (job #664669) | Cod sursa (job #658178)
Cod sursa(job #658178)
#include<stdio.h>
#define Nmax 100002
using namespace std;
FILE *c,*d;
int n,v[Nmax];
void read()
{
int i;
fscanf(c,"%d",&n);
for(i=1;i<=n;i++)
fscanf(c,"%d",&v[i]);
}
void solve()
{
int k,i,max,imax,l[Nmax];
l[n]=1;
for(k=n-1;k>=1;k--)
{
l[k]=1;
i=k;
do
i++;
while(v[i]<=v[k]&&i<n);
if(v[i]>v[k])
l[k]=l[i]+1;
}
max=l[1];
for(i=2;i<=n;i++)
if(l[i]>max)
{
max=l[i];
imax=i;
}
fprintf(d,"%d\n",max);
fprintf(d,"%d ",v[imax]);
for(i=imax+1;i<=n;i++)
if(v[i]>v[imax])
{
fprintf(d,"%d ",v[i]);
imax=i;
}
}
int main()
{
c=fopen("scmax.in","r");
d=fopen("scmax.out","w");
read();
solve();
fclose(c);
fclose(d);
return 0;
}