Pagini recente » Monitorul de evaluare | Cod sursa (job #583043) | Cod sursa (job #2085247) | Cod sursa (job #432979) | Cod sursa (job #943938)
Cod sursa(job #943938)
#include<fstream>
#define NM 500100
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int D[NM],n,k,i,front,back,ma,st,dr;
short int A[NM];
int main()
{
ma=-90000;
f>>n>>k;
for(i=1;i<=n;++i)
f>>A[i];
front=1;
back=0;
for(i=1;i<=n;++i)
{
while(front<=back&&A[i]<=A[D[back]]) D[back]=0,back--;
D[++back]=i;
if(D[front]==i-k) front++;
if(i>=k&&A[D[front]]>ma)
ma=A[D[front]],st=i-k+1,dr=i;
}
g<<st<<" "<<dr<<" "<<ma;
return 0;
}