Pagini recente » Cod sursa (job #2607665) | Cod sursa (job #225016) | Cod sursa (job #629405) | Cod sursa (job #2388122) | Cod sursa (job #655512)
Cod sursa(job #655512)
#include <fstream>
#include <deque>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
deque <int> mind;
int n,k,i,a[500001],j,mx=-50000,s;
void pushm(int i) {
while (!mind.empty() && a[i]<=a[mind.back()]) mind.pop_back();
mind.push_back(i);
}
int main () {
f >> n >> k;
for (i=1;i<=n;i++)
f >> a[i];
i=j=1;
while (i<=n && j<=i) {
pushm(i);
while (i-j+1>k) {
if(!mind.empty() && mind.front()<=j) mind.pop_front();
j++;
}
if (i-j+1==k && mx<a[mind.front()]) {
mx=a[mind.front()];
s=j;
}
i++;
}
g << s << ' ' << s+k-1 << ' ' << mx << '\n';
f.close();g.close();
return 0;
}