Pagini recente » Cod sursa (job #2986162) | Cod sursa (job #3174074) | Cod sursa (job #839337) | Cod sursa (job #2114408) | Cod sursa (job #668667)
Cod sursa(job #668667)
#include<iostream>
#include<fstream>
#include<queue>
using namespace std;
deque<int>Q;
int N,K;
int a[500002];
int main(){
ifstream in("secventa.in");
ofstream out("secventa.out");
in>>N>>K;
int max=-30000;
int start=0;
for(int i=0;i<N;i++)
in>>a[i];
for(int i=0;i<N;i++){
if(!Q.empty())
while(a[Q.front()]>a[i]&&!Q.empty())
Q.pop_front();
Q.push_front(i);
if(i-Q.back()>=K)
Q.pop_back();
if(a[Q.back()]>max&&i>=K){
max=a[Q.back()];
start=Q.front();
}
}
cout<<max<<endl;
out<<(start-K+2)<<" "<<(start+1)<<" "<<max<<endl;
}