Pagini recente » Cod sursa (job #976171) | Cod sursa (job #3260601) | Cod sursa (job #614023) | Cod sursa (job #25597) | Cod sursa (job #1675260)
#include <iostream>
#include <fstream>
#define pii pair<int, int>
using namespace std;
pii q[500005];
int l = 1;
int main()
{
FILE *f = fopen("secventa.in", "r");
FILE *g = fopen("secventa.out", "w");
int n, k, x, st, dr, mx = -30005;
fscanf(f, "%d %d", &n, &k);
for(int i = 1; i <= n; i ++) {
fscanf(f, "%d", &x);
while(q[0].first >= l && q[q[0].first].first > x)
q[0].first --;
q[++ q[0].first] = {x, i};
if(q[q[0].first].second - q[l].second >= k) {
int aux = l;
while(q[q[0].first].second - q[l].second >= k && q[0].first > l && q[l].second < q[l + 1].second)
l ++;
if(l != aux)
aux = q[l - 1].second + 1;
if(q[q[0].first].second - aux + 1 >= k && mx < q[l].first) {
mx = q[l].first;
st = aux;
dr = i;
}
}
}
fprintf(g, "%d %d %d\n", st, dr, mx);
return 0;
}