Pagini recente » Cod sursa (job #2238728) | Cod sursa (job #715671) | Cod sursa (job #1973051) | Cod sursa (job #2915883) | Cod sursa (job #2888029)
//Ilie Dmitru
#include<cstdio>
typedef long long int ll;
const int NMAX=500005;
const ll MOD=194767;
FILE* f=fopen("secventa.in", "r"), *g=fopen("secventa.out", "w");
int baza[NMAX], index[NMAX], start=0, end=-1;
int main()
{
int N, K, i, x, maxB=-30005, pos, *p=&x;
fscanf(f, "%d%d", &N, &K);
for(i=0;i<K;++i)
{
fscanf(f, "%d", p);
while(end>start && baza[end]>=x)
--end;
baza[++end]=x;
index[end]=i;
}
pos=K-1;
for(;i<N;++i)
{
fscanf(f, "%d", p);
while(end>start && baza[end]>=x)
--end;
baza[++end]=x;
index[end]=i;
start+=(index[start]==i-K);
if(baza[start]>maxB)
maxB=baza[start], pos=i;
}
fprintf(g, "%d %d %d", pos-K+2, pos+1, maxB);
fclose(f);
fclose(g);
return 0;
}