Pagini recente » Cod sursa (job #1632666) | Cod sursa (job #741937) | Cod sursa (job #2893880) | Cod sursa (job #1206657) | Cod sursa (job #221220)
Cod sursa(job #221220)
#include<iostream>
#include<stdio.h>
FILE *f,*g;
long long l[100010],n,imax,max,a[100010],i,k;
int main()
{
f=fopen("scmax.in","r");
g=fopen("scmax.out","w");
fscanf(f,"%lld",&n);
for(i=1;i<=n;i++)
fscanf(f,"%lld ",&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,"%lld\n%lld ",max,a[imax]);
for(i=imax+1;i<=n;i++)
if(a[i]>a[imax]) {imax=i;fprintf(g,"%lld ",a[i]);}
return 0;
}