Pagini recente » Cod sursa (job #2840310) | Cod sursa (job #3321399) | Cod sursa (job #3325293) | Cod sursa (job #3340269) | Cod sursa (job #3307626)
#include <fstream>
#include <algorithm>
#include <string>
#include <cmath>
#include <queue>
#include <deque>
#include <map>
#include <stack>
#include <vector>
#define int long long
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
deque<int> dq;
int n, k, v[500005], x = 0, y = 0, mx = -30005;
signed main(){
cin>>n>>k;
for (int i = 1; i <= n; i++){
cin>>v[i];
while (dq.empty() == false && v[dq.back()] > v[i]){
dq.pop_back();
}
while (dq.empty() == false && dq.front() <= i - k){
dq.pop_front();
}
dq.push_back(i);
if (i >= k && mx < v[dq.front()]){
mx = v[dq.front()];
x = i - k + 1;
y = dq.back();
}
}
cout<<x<<" "<<y<<" "<<mx;
}