Mai intai trebuie sa te autentifici.
Cod sursa(job #382227)
Utilizator | Data | 13 ianuarie 2010 09:57:14 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include<stdio.h>
#define MAX 100003
int main()
{
int sir[MAX];
int i,n,nr,p,max,pmax;
nr=p=pmax=max=0;
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
nr=1;
p=0;
scanf("%d",sir+i);
for(i=1;i<n;++i)
{
scanf("%d",sir+i);
if(sir[i]>sir[i-1])
++nr;
if(sir[i]<sir[i-1])
{
if(max<nr)
{
max=nr;
pmax=p;
}
nr=1;
p=i;
}
}
if(max<nr)
{
max=nr;
pmax=p;
}
printf("%d\n",max);
printf("%d ",sir[pmax]);
bool e=0;
for(i=pmax+1;i<pmax+max;++i)
{
e=0;
printf("%d ",sir[i]);
while(sir[i]==sir[i-1])
{
++i;
e=1;
}
if(e)
--i;
}
return 0;
}