Pagini recente » Cod sursa (job #111701) | Cod sursa (job #1980465) | Cod sursa (job #3235255) | Cod sursa (job #1741677) | Cod sursa (job #2312698)
#include <fstream>
#define NM 500003
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int i,n,k,fr,bk,max1,in,sf,j;
int a[NM],dq[NM];
int main()
{
f>>n>>k;
for(i=1;i<=n;i++) f>>a[i];
fr=1; bk=0; max1=0;
for(i=1;i<=n;i++){
while(fr<=bk&&a[i]<=a[dq[bk]]) bk--;
dq[++bk]=i;
j=1;
while(i-dq[j]+1>=k&&j<=bk) {
if(max1<a[dq[j]]) { max1=a[dq[j]]; in=dq[j]; sf=i; }
else
if(max1==a[dq[j]]){
if(in>dq[j]) { in=dq[j]; sf=i; }
else
if(in==dq[j]) sf=i;
}
j++;
}
}
g<<in<<' '<<sf<<' '<<max1<<'\n';
return 0;
}