Pagini recente » Cod sursa (job #1459146) | Cod sursa (job #1826394) | Cod sursa (job #1919290) | Cod sursa (job #1599162) | Cod sursa (job #1930437)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("secventa.in"); ofstream g("secventa.out");
int n,k,a[500001],d[500001],i,m,st,dr,x,y;
int main()
{
f>>n>>k;
for(i = 1; i <= n; ++i) {
f>>a[i];
}
dr = 0;
st = 1;
m = -1000000;
for(i = 1; i <= n; ++i) {
while( st <= dr && a[i] < a[d[dr]]) {
--dr;
}
++dr;
d[dr] = i;
if (d[st] == i - k) {
++st;
}
if (i >= k && a[d[st]] > m) {
m = a[d[st]];
x = i-k+1;
y = i;
}
}
g<<x<<' '<<y<<' '<<m;
return 0;
}