Pagini recente » Cod sursa (job #376011) | Cod sursa (job #2185420) | Cod sursa (job #722199) | Cod sursa (job #579420) | Cod sursa (job #3202439)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
const int N = 5e5;
short v[N + 5];
deque <int> dq;
int main(){
int n, k, st = -1, dr = -1 , maxim = -1e9;
cin >> n >> k;
for(int i = 1; i <= n; i++)
cin >> v[i];
for(int i = 1; i <= n; i++){
while(!dq.empty() && dq.front() == i - k)
dq.pop_front();
while(!dq.empty() && v[dq.back()] > v[i])
dq.pop_back();
dq.push_back(i);
if(!dq.empty() and i >= k and v[dq.front()] > maxim){
maxim = v[dq.front()];
st = i - k + 1;
dr = i;
}
}
cout << st << ' ' << dr << ' ' << maxim;
return 0;
}