Pagini recente » Cod sursa (job #411101) | Cod sursa (job #1577126) | Cod sursa (job #2972872) | Cod sursa (job #2681596) | Cod sursa (job #1503680)
#include<stdio.h>
#include<deque>
FILE *in,*out;
std::deque<int> d, v;
int N, K;
int main()
{
in = fopen("secventa.in", "r");
out = fopen("secventa.out", "w");
fscanf(in, "%d%d", &N, &K);
int e,l,min=1<<31,left=0,right=0;
for (int i = 1;i <= N;++i)
{
fscanf(in, "%d", &e);
l = d.size();
while (l && e < d.back())
{
d.pop_back();
v.pop_back();
--l;
}
d.push_back(e);
v.push_back(i);
if (i >= K)
{
if (d.front() > min)
{
min=d.front();
left = i-K+1;
right =i ;
}
if (v.front() == i-K+1)
{
d.pop_front();
v.pop_front();
}
}
}
fprintf(out,"%d %d %d",left,right,min);
return 0;
}