Pagini recente » Borderou de evaluare (job #2262341) | Monitorul de evaluare | Borderou de evaluare (job #3302639) | Borderou de evaluare (job #3329594) | Cod sursa (job #1160181)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque < int > deq;
int n, k, v[500001];
int maxmin = -30001, maxmin1, maxmin2;
void read()
{
fin >> n >> k;
for(int i = 1; i <= n; i++)
{
fin >> v[i];
if(!deq.empty() && v[deq.back()] > v[i])
deq.pop_back();
deq.push_back(i);
if(i - deq.front() == k)
deq.pop_front();
if(i >= k)
{
if(maxmin < v[deq.front()])
{
maxmin = v[deq.front()];
maxmin1 = deq.front();
maxmin2 = deq.back();
}
}
}
}
int main()
{
read();
fout << maxmin1 << " " << maxmin2 << " " << maxmin;
return 0;
}