Pagini recente » Cod sursa (job #2281459) | Cod sursa (job #2725474) | Cod sursa (job #445689) | Cod sursa (job #2910284) | Cod sursa (job #1973699)
#include <iostream>
#include<fstream>
#include<deque>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
deque<int> dq;
int n,i,j,k,v[500001],a;
int main()
{
long long ans = -1000000000;
f>>n>>k;
for( i = 1 ; i <= n ; i++ )
f>>v[ i ];
for( i = 1 ; i < k ; i++ )
{
while( dq.size() && v[ i ] <= v[ dq.front() ] )
dq.pop_front();
dq.push_front( i );
}
for( i = k ; i <= n ; i++ )
{
while( dq.size() && v[ i ] <= v[ dq.front() ] )
dq.pop_front();
dq.push_front( i );
if( v[ dq.back() ] > ans )
{
ans = v[ dq.back() ];
a = i;
}
if( dq.back() == i - k + 1 )
dq.pop_back();
}
g<<a-k+1<<' '<<a<<' '<<ans;
return 0;
}