Cod sursa(job #893589)
Utilizator | Data | 26 februarie 2013 16:37:27 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include<stdio.h>
int v2[100001],v[100001];
int main()
{
int i,n,k;
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
k=1;
for(i=1;i<=n;i++)
if(v[i]>v[v2[k-1]]&&(v[i]<v[v2[k]]||v2[k]==0))
v2[k]=i;
else
if(v[i]>v[v2[k]])
v2[++k]=i;
printf("%d\n",k);
for(i=1;i<=k;i++)
printf("%d ",v[v2[i]]);
return 0;
}