Cod sursa(job #247906)
Utilizator | Data | 24 ianuarie 2009 13:43:28 | |
---|---|---|---|
Problema | Secventa | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.76 kb |
#include<stdio.h>
#define dim 500001
int a[dim];
int main ()
{
long int n,i,k,m,x,y;
long int min,xmax,xmin,lmin,nr;
lmin=-30000;
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
{
min=a[i];
x=i;
y=i;
if(min>=lmin)
while(1)
{nr=0;
if(x>1)
{
if(min<=a[x-1])
x--;
else
nr++;
}
else
nr++;
if(y<n)
{
if(min<=a[y+1])
y++;
else
nr++;
}
else
nr++;
if(nr==2)
break;
}
if((min>lmin && y-x+1>=m) || (min=lmin && xmin>x))
{
xmin=x;
xmax=y;
lmin=min;
}}
printf("%d %d %d\n",xmin,xmax,lmin);
return 0;
}