Pagini recente » Cod sursa (job #865111) | Cod sursa (job #2255035) | Cod sursa (job #1819229) | Cod sursa (job #2028214) | Cod sursa (job #810182)
Cod sursa(job #810182)
#include <cstdio>
using namespace std;
short int v[500010];
char buff[500010 *15];
#define max 30000
char *p;
short int evaluate()
{
while(*p == ' ' || *p == '\n')
++p;
bool semn = 0;
short int ret = 0;
if(*p == '-')
{
semn = 1;
++p;
}
while(*p <= 9 && *p >= 0)
ret = ret * 10 + *(p++)-'0';
if(semn)
ret *= -1;
return ret;
}
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
int n,i,k;
scanf("%d%d",&n,&k);
gets(buff);
p = buff;
for(i=1;i<=n;++i)
v[i] = evaluate();
int baza = max;
int bazamax,inceput;
for(i=1;i<=k;++i)
if(v[i] < baza)
baza = v[i];
bazamax = baza;
inceput = 1;
int j;
for(i=k+1;i<=n;++i)
{
if(v[i-k] == baza)
{
baza = max;
for(j=i-k+1;j<=i;++j)
if(v[j] < baza)
baza = v[j];
}
if(baza > bazamax)
{
inceput = i-k+1;
bazamax = baza;
}
}
printf("%d %d %d\n",inceput,inceput+k-1,bazamax);
return 0;
}