Pagini recente » Cod sursa (job #247564) | Cod sursa (job #355175) | Cod sursa (job #1497459) | Cod sursa (job #562297) | Cod sursa (job #596913)
Cod sursa(job #596913)
#include <fstream>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
const int N=500001;
short int n,k,v[N],dq[N],st,dr;
void stanga(int i){
while(i-dq[st]==k){
st++;
}
}
void dreapta(int i){
while(st<=dr && v[dq[dr]]>v[i]){
dr--;
}
dq[++dr]=i;
}
int main(){
int i,max=-40000,maxs,maxd;
in>>n>>k;
for(i=1;i<=n;i++){
in>>v[i];
stanga(i);
dreapta(i);
if(v[dq[st]]>max && i>k){
max=v[dq[st]];
//maxs=dq[st];
maxd=i;
}
}
out<<maxd-k+1<<" "<<maxd<<" "<<max;
return 0;
}