Pagini recente » Cod sursa (job #2427260) | Cod sursa (job #568148) | Cod sursa (job #240283) | Cod sursa (job #920723) | Cod sursa (job #2594391)
#include<fstream>
#include<deque>
#include<vector>
#define MAX_N 500000
std::vector<int> v;
std::deque<int> dq;
int main() {
int n, k, x, maxim, b, e;
std::ifstream fin("secventa.in");
std::ofstream fout("secventa.out");
fin >> n >> k;
maxim = -30001;
b = e = -1;
for(int i = 0; i < n; ++i) {
fin >> x;
v.push_back(x);
if(!dq.empty() && i - dq.front() >= k)
dq.pop_front();
while(!dq.empty() && v[i] <= v[dq.back()])
dq.pop_back();
dq.push_back(i);
if(i >= k - 1) {
if(maxim < v[dq.front()]) {
maxim = v[dq.front()];
e = i;
b = i - k + 1;
}
}
}
fout << b + 1 << " " << e + 1 << " " << maxim << "\n";
fin.close();
fout.close();
return 0;
}