Pagini recente » Cod sursa (job #1387117) | Cod sursa (job #2433318) | Cod sursa (job #2908848) | Cod sursa (job #3148359) | Cod sursa (job #2649571)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k;
int mi[500001],rasp,rasp2,rasp3;
short v[500001];
int main()
{
f >> n >> k;
f >> v[1];
mi[1] = 1;
int in = 1,sf = 1;
rasp = -30001;
for(int i = 1; i <= n; ++i)
{
f >> v[i];
while(v[i] <= v[mi[sf]] && sf >= in)
sf--;
mi[++sf] = i;
if(mi[in] + k < i && in <= sf)
in++;
if(v[mi[in]] > rasp && i >= k)
{
rasp = v[mi[in]];
rasp2 = i - k + 1;
rasp3 = i;
}
}
g << rasp2 << " " << rasp3 << " " << rasp;
}