Pagini recente » Cod sursa (job #536095) | Cod sursa (job #2237397) | Cod sursa (job #3288079) | Cod sursa (job #1637302) | Cod sursa (job #1696339)
#include <fstream>
using namespace std;
int n, k, i, a[500001], minim = -30001, l[500001], sf, inc, sfmin;
int main () {
ifstream fi("secventa.in");
ofstream fo("secventa.out");
fi >> n >> k; inc = sf = 1; l[inc] = 1;
fi >> a[1];
for (i = 1; i <= n-1; i++) {
fi >> a[i];
while (i-l[inc] >= k and inc <= sf)
inc++;
while (a[i] <= a[l[sf]] and inc <= sf)
sf--;
sf++;
l[sf] = i;
if (i >= k)
if(minim < a[l[inc]]) {
minim = a[l[inc]];
sfmin = i;
}
}
fo << sfmin-k+1 << ' ' << sfmin << ' ' << minim;
return 0;
}