Pagini recente » Cod sursa (job #804264) | Cod sursa (job #2274694) | Cod sursa (job #2965026) | Cod sursa (job #1240113) | Cod sursa (job #1505786)
#include <iostream>
#include <fstream>
using namespace std;
int maxt, i, k, minv, j, a[500001], n, c1, c2, bz[500001], s, l[500001];
int main()
{
ifstream f ("secventa.in");
ofstream g ("secventa.out");
f >> n >> k;
for (i = 1; i <= n; i++) f >> a[i];
s = 1; maxt = a[1]; bz[0] = 30001; bz[1] = a[1]; j = 1;
for (i = 2; i <= n; i++) {
while(a[i] < bz[j]) j--;
j++;
bz[j] = a[i]; l[j] = i;
if (i - l[s] == k)
s++;
if (k <= i)
if (bz[s] > maxt) {
c1 = i - k + 1; c2 = i; maxt = bz[s];
}
}
g << c1 << " " << c2 << " " << maxt;
f.close ();
g.close ();
return 0;
}
/*
-1 2 3 1 0 8 4 6
5 8
bz: 4 6
s d
1
*/