Pagini recente » Cod sursa (job #2524007) | Cod sursa (job #2744681) | Cod sursa (job #1147188) | Cod sursa (job #2528230) | Cod sursa (job #2676292)
#include <fstream>
#include <deque>
using namespace std;
deque <int> coada;
const int NMAX = 500005;
int v[NMAX], L[NMAX], R[NMAX];
int main()
{
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int n, k, maxx = 0, stanga = 0, dreapta = 0;
cin >> n >> k;
for(int i = 1; i <= n; i ++)
{
cin >> v[i];
while (!coada.empty() && v[i]<=v[coada.back()])
coada.pop_back();
coada.push_back(i);
if (i > k)
{
if (coada.front() == i - k)
coada.pop_front();
}
if (i>=k)
{
if (maxx<v[coada.front()])
{
maxx = v[coada.front()];
dreapta = i;
stanga = i - k + 1;
}
}
}
cout << stanga << " " << dreapta << " " << maxx;
return 0;
}