Pagini recente » Cod sursa (job #1055639) | Cod sursa (job #1938838) | Cod sursa (job #642571) | Cod sursa (job #619288) | Cod sursa (job #2563805)
#include <bits/stdc++.h>
#define Inf 30001
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int n,k;
short int a[500001];
int coada[500001],last=1,vf;
int stS,drS,maxS=-Inf;
int main()
{
in>>n>>k;
for(int i=1;i<=k-1;i++)
{
in>>a[i];
while(last<=vf && a[ coada[vf] ]>=a[i])
vf--;
coada[++vf]=i;
}
for(int i=k;i<=n;i++)
{
in>>a[i];
if(coada[last]<=i-k)
last++;
while(last<=vf && a[ coada[vf] ]>=a[i])
vf--;
coada[++vf]=i;
if(a[ coada[last] ]>maxS)
{
maxS=a[ coada[last] ];
stS=i-k+1;
drS=i;
}
}
out<<stS<<' '<<drS<<' '<<maxS;
return 0;
}