Pagini recente » Cod sursa (job #571836) | Cod sursa (job #3237844) | Cod sursa (job #3295067) | Cod sursa (job #2951745) | Cod sursa (job #17564)
Cod sursa(job #17564)
#include <cstdio>
#define MAXN 500001
#define FIN "secventa.in"
#define FOUT "secventa.out"
long a[MAXN], n, m, i, j, q[MAXN], p, u, k, max, poz;
int main () {
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%ld %ld",&n, &k);
for (i=1; i<=n; i++) scanf("%ld", &a[i]);
p = 1; u = 1; q[u] = a[1];
for (i=2; i<=k; i++) {
while (q[u] > a[i] && u>0) u--;
u++;
q[u] = a[i];
}
max = q[p]; poz = i;
for (i=k+1; i<=n; i++) {
while (q[u] > a[i] && u>0) u--;
u++;
q[u] = a[i];
if (q[p] == a[i-k]) p++;
if (max < q[p]) {
max = q[p];
poz = i;
}
}
printf("%ld %ld %ld\n", poz-k+1, poz, max);
return 0;
}