Pagini recente » Cod sursa (job #707553) | Cod sursa (job #1474098) | Cod sursa (job #2119956) | Cod sursa (job #280167) | Cod sursa (job #221336)
Cod sursa(job #221336)
#include<iostream>
#include<stdio.h>
FILE *f,*g;
long l[100001],n,imax,max,a[100001],i,k;
int main()
{
f=fopen("scmax.in","r");
g=fopen("scmax.out","w");
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++)
fscanf(f,"%ld ",&a[i]);
l[n]=1;
for(k=n-1;k>=1;k--)
{
l[k]=1;i=k;
do{i++;}while(a[k]>a[i]&&i<n);
if(a[k]<a[i]) l[k]=l[i]+1;
}
max=-1;
for(i=1;i<=n;i++)
if(l[i]>max) {max=l[i];imax=i;}
fprintf(g,"%ld\n%ld ",max,a[imax]);
for(i=imax+1;i<=n;i++)
if(a[i]>a[imax]) {imax=i;fprintf(g,"%ld ",a[i]);}
return 0;
}