Pagini recente » Cod sursa (job #201992) | Cod sursa (job #2685066) | Cod sursa (job #1584420) | Cod sursa (job #1544339) | Cod sursa (job #1514129)
# include <bits/stdc++.h>
using namespace std;
const int Lmax = 100000 + 5;
int n, k, i, a[Lmax], res;
deque <int> M, m;
int main ()
{
freopen("vila2.in","r",stdin);
freopen("vila2.out","w",stdout);
scanf("%d %d\n", &n, &k);
for (i = 1; i <= n; ++i)
scanf("%d\n", &a[i]);
for (i = 1; i <= n; ++i){
while (M.size() && a[i] > a[M.back()]) M.pop_back();
while (m.size() && a[i] < a[m.back()]) m.pop_back();
m.push_back(i);
M.push_back(i);
while (M.front() == i - k -1) M.pop_front();
while (m.front() == i - k -1) m.pop_front();
if (i >= k) res = max(res, a[M.front()] - a[m.front()]);
}
printf("%d", res);
return 0;
}