Pagini recente » Cod sursa (job #839121) | Cod sursa (job #654827) | Cod sursa (job #2412076) | Cod sursa (job #218295) | Cod sursa (job #1560364)
#include <bits/stdc++.h>
using namespace std;
ofstream out("secventa.out");
FILE* fila=fopen("secventa.in","r");
#define MAX 500007
#define INF 40000
long long v[MAX];
deque <long long> D;
long long poz=0;
#define LIM 4000
char buff[LIM];
void cit(long long &x)
{
while(!isdigit(buff[poz]))
{
++poz;
if(poz==LIM)
{
fread(buff,1,LIM,fila);
poz=0;
}
}
x=0;
while(isdigit(buff[poz]))
{
x=x*10+buff[poz]-'0';
++poz;
if(poz==LIM)
{
fread(buff,1,LIM,fila);
poz=0;
}
}
}
int main()
{
long long n,k,i,j,l,sf,mini;
cit(n);cit(k);
for(int i=1; i<=n; i++)
cit(v[i]);
mini=-INF;
for(int i=1; i<=n; i++)
{
while(!D.empty()&&v[D.back()]>=v[i])
D.pop_back();
D.push_back(i);
if(D.front()<=i-k)D.pop_front();
if(i>=k&&v[D.front()]>mini)
{
mini=v[D.front()];
sf=i;
}
}
out<<sf-k+1<<" "<<sf<<" "<<mini;
return 0;
}