Cod sursa(job #904993)
| Utilizator | Data | 5 martie 2013 11:19:31 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
# include <cstdio>
using namespace std;
int i,j,lg[100001],a[100001],nr,n,Max,b,x;
int main()
{
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
scanf("%d", &n);
for(i=1; i<=n; ++i)
scanf("%d", &a[i]);
for(i=n; i>=1; --i)
{
b=a[i]; nr=1;
for(j=i+1; j<=n; ++j)
if(b<a[j])
{
nr++;
b=a[j];
}
lg[i]=nr;
if(lg[i]>Max) { Max=lg[i]; x=i;}
}
b=lg[x];
printf("%d\n%d ",b, a[x]);
for(i=x; i<=n; ++i)
if(lg[i]<b)
{
printf("%d ", a[i]);
b=lg[i];
}
}
