Pagini recente » Cod sursa (job #384987) | Cod sursa (job #1479938) | Cod sursa (job #2785) | Cod sursa (job #2998514) | Cod sursa (job #3222079)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
const int OO = (1 << 30);
deque< pair<int, int> > dq;
int main()
{
int n, k, x;
fin >> n >> k;
int i1, i2, mn;
i1 = i2 = 1;
mn = - OO;
for(int i=1; i<=n; ++i){
if(dq.size() > 0){
if(i - dq.front().second + 1 > k){
dq.pop_front();
}
}
fin >> x;
while(dq.size() > 0 && dq.back().first > x){
dq.pop_back();
}
dq.push_back(make_pair(x, i));
if(dq.front().first > mn && i - dq.front().second + 1 == k){
mn = dq.front().first;
i1 = dq.front().second;
i2 = i;
}
}
fout << i1 << ' ' << i2 << ' ' << mn << '\n';
return 0;
}