Pagini recente » Cod sursa (job #2917132) | Cod sursa (job #2086697) | Cod sursa (job #1313959) | Cod sursa (job #2689727) | Cod sursa (job #2477996)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k;
int v[500010];
int maxim=-30001,start,finish;
deque <int> oof;
void cit()
{
f>>n>>k;
int i;
}
void aflu(int i)
{
if(i<=n)
{
f>>v[i];
while(!oof.empty()&&v[i]<=v[oof.front()])
oof.pop_front();
oof.push_front(i);
if(i-oof.back()>=k) oof.pop_back();
if(i>=k&&v[oof.back()]>maxim)
{
maxim=v[oof.back()
];
start=i-k+1;
finish=i;
}
aflu(i+1);
}
}
void afis()
{
g<<start<<" "<<finish<<" "<<maxim;
}
int main()
{
cit();
aflu(1);
afis();
return 0;
}