Pagini recente » Cod sursa (job #664929) | Cod sursa (job #1804133) | Cod sursa (job #1402274) | Cod sursa (job #1115148) | Cod sursa (job #658345)
Cod sursa(job #658345)
#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];
imax=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]);
max=v[imax];
for(i=imax+1;i<=n;i++)
if(v[i]>max)
{
fprintf(d,"%d ",v[i]);
max=v[i];
}
}
int main()
{
c=fopen("scmax.in","r");
d=fopen("scmax.out","w");
read();
solve();
fclose(c);
fclose(d);
return 0;
}