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