Pagini recente » Cod sursa (job #2637037) | Cod sursa (job #45467) | Cod sursa (job #924202) | Cod sursa (job #2397661) | Cod sursa (job #2219403)
#include<fstream>
#include<deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque < pair <int, int> > Deque;
int V[500003],N,K,Min=-30005,Sol;
int Comp(int Nr){
while(!Deque.empty() && Nr<Deque.back().first){
Deque.pop_back();
}
}
int Cut(int i){
while(!Deque.empty() && Deque.front().second<(i-K+1))
Deque.pop_front();
}
int main()
{
fin>>N>>K;
for(int i=1;i<=N;i++)
fin>>V[i];
for(int i=1;i<=N;i++){
Comp(V[i]);
Cut(i);
Deque.push_back(make_pair(V[i],i));
if(Deque.front().first>Min){
Sol=i;
Min=Deque.front().first;
}
}
fout<<Sol-K+1<<" "<<Sol<<" "<<Min<<'\n';
}