Pagini recente » Borderou de evaluare (job #1200744) | Borderou de evaluare (job #1200721) | Cod sursa (job #3030503)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,i,a[500011],st,dr,M=30011;
deque <int> q;
int main()
{
f>>n>>k;
for(i=1;i<=k;i++)
{
f>>a[i];
q.push_back(i);
M=min(M,a[i]);
}
st=1;
dr=k;
for(;i<=n;i++)
{
f>>a[i];
while(!q.empty() && a[i]<=a[q.back()])
q.pop_back();
q.push_back(i);
while(q.front()<=i-k)
q.pop_front();
if(M<a[q.front()])
{
M=a[q.front()];
st=i-k+1;
dr=i;
}
}
g<<st<<" "<<dr<<" "<<M;
return 0;
}