Pagini recente » Cod sursa (job #3366670) | Cod sursa (job #3365742) | Cod sursa (job #3366196) | Cod sursa (job #3366199) | Cod sursa (job #3366065)
#include <fstream>
#include <deque>
#define MAX 500000
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
int v[MAX];
int main() {
int n,k,i,maxim,st,dr;
fin>>n>>k;
for (i=0; i<n; i++) {
fin>>v[i];
}
deque<int> dq;
maxim=-MAX;
st=0;
dr=k-1;
for (i=0; i<n; i++) {
while(!dq.empty() && v[dq.back()]>=v[i]) {
dq.pop_back();
}
dq.push_back(i);
if (dq.front()<=i-k) {
dq.pop_front();
}
if (i>=k) {
if (v[dq.front()]>maxim) {
maxim=v[dq.front()];
st=i-k+1;
dr=i;
}
}
}
fout<<st+1<<" "<<dr+1<<" "<<maxim<<endl;
return 0;
}