Cod sursa(job #2278438)
Utilizator | Data | 8 noiembrie 2018 01:09:25 | |
---|---|---|---|
Problema | Secventa | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<fstream>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int n,k,dq[500005],v[500005],maxim=(1<<31),x,y;
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>v[i];
int s,d;
s=1; d=0;
for(int i=1;i<=n;i++){
while(s<=d && v[dq[d]]>=v[i]) --d;
dq[++d]=i;
if(i>=k){
if(maxim<v[dq[s]]){
maxim=v[dq[s]];
x=dq[s]; y=dq[d];
}
if(dq[s]==i-k+1) ++s;
}
}
cout<<x<<' '<<y<<' '<<maxim;
}