Pagini recente » Cod sursa (job #1182818) | Cod sursa (job #3276501) | Cod sursa (job #938901) | Cod sursa (job #1199322) | Cod sursa (job #2306419)
#include <iostream>
#include <fstream>
#define maxn 500000
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n, k, maxim=-30001, v[maxn+2];
int dq[maxn+2], fr=1, bk=0, posi, posj;
int main()
{
fin>>n>>k;
for(int i=1; i<=k; i++)
{
fin>>v[i];
while(fr<=bk&&v[i]<=v[dq[bk]]) bk--;
dq[++bk]=i;
}
if(maxim<v[dq[fr]])
{
maxim=v[dq[fr]];
posj=1;
posi=k;
}
for(int i=k+1; i<=n; i++)
{
fin>>v[i];
while(fr<=bk&&v[i]<=v[dq[bk]]) bk--;
dq[++bk]=i;
if(i-dq[fr]>=k)
{
fr++;
}
if(maxim<v[dq[fr]])
{
maxim=v[dq[fr]];
posi=i;
posj=i-k+1;
}
}
fout<<posj<<' '<<posi<<' '<<maxim<<'\n';
return 0;
}