Pagini recente » Cod sursa (job #768155) | Cod sursa (job #789381) | Cod sursa (job #1117658) | Cod sursa (job #365134) | Cod sursa (job #2392099)
#include <bits/stdc++.h>
using namespace std;
const int MX = 5000000;
ifstream in("secventa.in");
ofstream out("secventa.out");
deque <int> d;
int n;
int k;
int v[MX + 5];
int l;
int r;
int vl = INT_MIN;
int main()
{
in>>n>>k;
for(int i = 1; i <= n; ++i)
{
in>>v[i];
}
for(int i = 1; i <= n; ++i)
{
while(!d.empty() and v[i] < v[d.back()])
{
d.pop_back();
}
d.push_back(i);
if(d.front() == i - k)
{
d.pop_front();
}
if(i >= k)
{
if(vl < v[d.front()])
{
vl = v[d.front()];
l = i - k + 1;
r = i;
}
}
}
out<<l<<" "<<r<<" "<<vl;
return 0;
}