Pagini recente » Cod sursa (job #2655257) | Cod sursa (job #2215662) | Cod sursa (job #831354) | Cod sursa (job #2181435) | Cod sursa (job #2208584)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
deque<int> v;
int lel=-30010,n,k,i,a[500010];
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=k;i++)
{
while(v.size()&&(a[v.back()]>=a[i]))
v.pop_back();
v.push_back(i);
}
lel=a[v.front()];
for(i=k+1;i<=n;i++)
{
while(v.size()&&(a[v.back()]>=a[i]))
v.pop_back();
v.push_back(i);
while((i-v.front())>=k)
v.pop_front();
lel=max(lel,a[v.front()]);
}
for(i=1;i<=n;i++)
{
while(v.size()&&(a[v.back()]>=a[i]))
v.pop_back();
v.push_back(i);
while((i-v.front())>=k)
v.pop_front();
if((i>=k)&&(lel==a[v.front()]))
{
g<<i-k+1<<' '<<i<<' '<<lel<<'\n';
return 0;
}
}
return 0;
}