Pagini recente » Cod sursa (job #1394738) | Cod sursa (job #1350919) | Cod sursa (job #1840193) | Cod sursa (job #170341) | Cod sursa (job #1008824)
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
#include <queue>
#include <deque>
#include <iomanip>
#include <stack>
#include <cstdio>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
#define baza 10
#define MAX 500010
deque <pair <int, int> > coada;
int a[MAX];
int main()
{
int n, i, k, x, b=INT_MIN;
fin>>n;
fin>>k;
for(i=1;i<=n;i++)
{
fin>>a[i];
}
for(i=1;i<=n;i++)
{
while(!coada.empty() && coada.back().first>=a[i])
{
coada.pop_back();
}
coada.push_back(make_pair(a[i], i));
if(coada.front().second<=i-k)
{
coada.pop_front();
}
if(coada.front().first>b && coada.front().second>=k)
{
b=coada.front().first;
x=i;
}
}
fout<<x-k+1<<" "<<x<<" "<<b;
return 0;
}