Cod sursa(job #2938425)
Utilizator | Data | 12 noiembrie 2022 08:51:12 | |
---|---|---|---|
Problema | Secventa | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | cnilc1_2-dq | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
long long n, k, i, m = -999999, u;
int a[500002];
int q[500002], st = 1, dr;
int main() {
fin >> n >> k;
for(i = 1; i <= n; i++) fin >> a[i];
for(i = 1; i <= n; i++) {
while(dr >= st && a[i] <= a[q[dr]]) dr--;
q[++dr] = i;
if(i >= k) {
if(dr >= st && i - q[st] + 1 > k) st++;
if(m < a[q[st]]) {
u = i;
m = a[q[st]];
}
}
}
fout << u - k + 1 << " " << u << " " << m;
return 0;
}