Pagini recente » Cod sursa (job #357689) | Cod sursa (job #2118117) | Cod sursa (job #727678) | Cod sursa (job #221062) | Cod sursa (job #2658753)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
struct yike{
int v, p;
};
int n, k;
deque<yike> de;
struct wans{
int lt, rt;
int dio;
bool valid = false;
};
wans ans;
int main(){
// ios_base::sync_with_stdio(false);
fin >> n >> k;
for(int i = 1; i <= n; ++i){
int a;fin>>a;
if(!de.empty() && i-de.front().p >= k)de.pop_front();
while(!de.empty() && a<=de.back().v)de.pop_back();
de.push_back({a,i});
yike &y = de.front();
if(i >= k && (!ans.valid || y.v > ans.dio)){
ans.dio = y.v;
ans.lt = i-k+1;
ans.rt = i;
ans.valid = true;
}
}
fout << ans.lt << " " << ans.rt << " " << ans.dio;
return 0;
}