Pagini recente » Cod sursa (job #667354) | Cod sursa (job #777886) | Cod sursa (job #905894) | Cod sursa (job #126303) | Cod sursa (job #3136096)
#include <fstream>
#include <vector>
#include <deque>
#include <map>
#include <stack>
#include <limits.h>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int maxim,poz1,poz2,n,k;
int main()
{
cin >> n >> k;
deque<int> deq;
vector<int> v(n+1);
for(int i=1; i <= n; i++)
cin >> v[i];
for(int i=1; i <= n; i++)
{
while(!deq.empty() and v[i] <= v[deq.back()])
{
deq.pop_back();
}
deq.push_back(i);
if(i >= k)
{
if(i-deq.front() >= k)
deq.pop_front();
if(v[deq.front()] > maxim)
{
poz1 = i-k+1;
poz2 = i;
maxim = v[deq.front()];
}
}
}
cout << poz1 << ' ' << poz2 << ' ' << maxim;
return 0;
}