Pagini recente » Istoria paginii utilizator/lolopolo | Cod sursa (job #1009840) | Cod sursa (job #828261) | Cod sursa (job #2521189) | Cod sursa (job #2639840)
#include <bits/stdc++.h>
#define oo 500005
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int n, k, sum , v[oo], maxim = -50000, st = 1, dr;
deque < int > d;
int main(){
in>>n>>k;
dr = k;
for(int i = 1; i <= n; i++){
in>>v[i];
while(!d.empty() && v[i] <= v[d.back()])
d.pop_back();
d.push_back(i);
if(d.front() == i - k)
d.pop_front();
if(i >= k){
if(maxim == - 50000)
maxim = v[d.front()];
else if(maxim < v[d.front()])
maxim = v[d.front()], st = d.front(), dr = st + k - 1;
}
}
out<<st <<" "<<dr<<" "<<maxim;
}