Pagini recente » Cod sursa (job #274353) | Cod sursa (job #2398728)
#include <fstream>
#define NMAX 500000
using namespace std;
int dqmin[NMAX + 1];
int v[NMAX + 1];
int main() {
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int n, k, i, st, dr, last;
cin>>n>>k;
st = 0;
dr = -1;
int ans = -30001;
for( i = 1; i <= n; i ++ ) {
cin>>v[i];
if( st >= 0 && dqmin[st] == i - k )
st ++;
while( dr >= st && v[dqmin[dr]] > v[i] )
dr --;
dqmin[++dr] = i;
if( ans < v[dqmin[st]] )
ans = v[dqmin[st]], last = i;
}
cout<<last-k+1<<" "<<last<<" "<<ans;
return 0;
}