Pagini recente » Cod sursa (job #2194260) | Cod sursa (job #1783501) | Cod sursa (job #2376060) | Cod sursa (job #2588610) | Cod sursa (job #810392)
Cod sursa(job #810392)
#include <cstdio>
#include <cstdlib>
char * buffer;
void read(int & a)
{
a ^= a;
bool semn = 0;
while(*buffer < '0' || *buffer > '9')
if(*(buffer++) == '-')
semn = 1;
while(*buffer <= '9' && *buffer >= '0')
a = a * 10 + *(buffer++) - '0';
if(semn)
a*=(-1);
}
#define max (1 << 30)
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
int size;
fseek(stdin,0,SEEK_END);
size = ftell(stdin);
buffer = (char*) malloc(size);
rewind(stdin);
fread(buffer,1,size,stdin);
int n,k;
int a[500010];
int i;
read(n);
read(k);
int baza,bazamax,poz;
for(i=1;i<=n;++i)
read(a[i]);
baza = a[1];
for(i=2;i<=k;++i)
if(a[i] < baza)
baza = a[i];
bazamax = baza;
poz = 1;
int j;
for(i=k+1;i<=n;++i)
{
if(a[i-k] == baza)
{
baza = max;
for(j=i-k+1;j<=i;++j)
if(a[j] < baza)
baza = a[j];
if(baza > bazamax)
{
bazamax = baza;
poz = i-k+1;
}
}
}
printf("%d %d %d",poz,poz+k-1,bazamax);
}