Pagini recente » Cod sursa (job #1105221) | Cod sursa (job #1526781) | Cod sursa (job #1737816) | Cod sursa (job #2346006) | Cod sursa (job #1793642)
#include <fstream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n, i, j, a[500005];
int fr, bk, dq[500005];
int maxim, ml, mr, k;
int main() {
f >> n >> k;
for (i = 1; i <= n; i++)
f >> a[i];
fr = 1, bk = 0;
for (i = 1; i <= n; i++) {
while (fr <= bk && a[dq[bk]] >= a[i])
bk--;
dq[++bk] = i;
if (dq[fr] == i-k)
fr++;
if (a[dq[fr]] > maxim) {
maxim = a[dq[fr]];
ml = dq[fr];
mr = i;
}
}
g << ml << ' ' << mr << ' ' << maxim;
return 0;
}