Pagini recente » Cod sursa (job #732542) | Cod sursa (job #1656229) | Cod sursa (job #678638) | Cod sursa (job #956916) | Cod sursa (job #2096500)
#include <fstream>
#define DEF 500010
#define INF 30010
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
int v[DEF], s[DEF], n, k, st = 1, dr, Max, sol;
int main () {
fin >> n >> k;
for (int i = 1; i <= n; ++ i) {
fin >> v[i];
}
v[0] = INF;
Max = -INF;
for (int i = 1; i <= n; ++ i) {
while (st <= dr && v[i] < v[s[dr]]) {
-- dr;
}
s[++ dr] = i;
if (s[st] < i - k + 1)
++ st;
if (i >= k && v[s[st]] > Max) {
Max = v[s[st]];
sol = i;
}
}
fout << sol - k + 1 << " " << sol << " " << Max;
return 0;
}