Pagini recente » Cod sursa (job #3240893) | Cod sursa (job #3179765) | Cod sursa (job #967288) | Cod sursa (job #3321869) | Cod sursa (job #3320724)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int v[5000005];
deque <int> dq;
int main()
{
int n, k, a, x, y;
long long int mn=0;
cin>>n>>k;
for(int i=1; i<=n; i++)
{
cin>>v[i];
if(i<=k)
{
while(!dq.empty() && v[dq.back()]>v[i])
{
dq.pop_back();
}
dq.push_back(i);
}
}
mn=v[dq.front()];
x=1;
y=k;
for(int i=k+1; i<=n; i++)
{
while(dq.front()<=i-k)
{
dq.pop_front();
}
while(!dq.empty() && v[dq.back()]>v[i])
{
dq.pop_back();
}
dq.push_back(i);
if(v[dq.front()]>mn)
{
mn=v[dq.front()];
x=i-k+1;
y=i;
}
}
cout<<x<<" "<<y<<" "<<mn;
return 0;
}