Pagini recente » Cod sursa (job #330012) | Cod sursa (job #1793303) | Cod sursa (job #2156646) | Cod sursa (job #1201292) | Cod sursa (job #1679576)
#include <fstream>
#include <deque>
using namespace std;
int main() {
int N,K,max=-30000,ix=0;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
cin >> N >> K;
deque<int> buffer;
int A[N];
for (int i=0; i!=N; ++i) cin >> A[i];
for (int i=0; i!=N; ++i) {
while (buffer.size()!=0 and A[i]<= A[buffer.back()]) buffer.pop_back();
buffer.push_back(i);
if (buffer.front()== i-K) buffer.pop_front();
if (i+1>=K and A[buffer.front()]>max) {
max=A[buffer.front()] ;
ix=i+1-K;
}
}
cout << ix+1 << " " << ix+K << " " << max << endl;
return 0;
}