Pagini recente » Cod sursa (job #616370) | Cod sursa (job #979299) | Cod sursa (job #1360624) | Cod sursa (job #1610681) | Cod sursa (job #2284860)
#include <iostream>
#include<cstdio>
#include<limits.h>
using namespace std;
const int N=500001;
int deq[N];
int v[N];
int maxi=0;
int valmax=INT_MIN;
int main()
{
FILE*fin,*fout;
fin=fopen("secventa.in","r");
fout=fopen("secventa.out","w");
int i,vf=0,baza=1;
int n,k;
fscanf(fin,"%d%d",&n,&k);
for(i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
}
for(i=1;i<=n;i++){
while(vf>=baza && v[deq[vf]]>=v[i]){
vf--;
}
deq[++vf]=i;
while(deq[baza]<=i-k)
baza++;
if(i>=k){
if(valmax<v[deq[baza]]){
maxi=i;
valmax=v[deq[baza]];
}
}
}
int inc=maxi-k+1;
while(inc>=1 && v[inc]>=v[maxi])
inc--;
fprintf(fout,"%d %d %d",inc,maxi,valmax);
return 0;
}