Heisenberg_71's blog

By Heisenberg_71, history, 4 years ago, In English

http://lightoj.com/volume_showproblem.php?problem=1093

I understood the problem but failed to understand the sample test cases.

  • Vote: I like it
  • -3
  • Vote: I do not like it

»
4 years ago, # |
Rev. 8   Vote: I like it 0 Vote: I do not like it

Let the array of integers $$$A[0..n-1]$$$ be the numbers shown in the screen. The short-term memory implies that the player can compute the difference between two integers $$$A[i]$$$ and $$$A[j]$$$ only if $$$|i-j| \leq d-1$$$. The solution to this problem is the maximum difference over $$$(n-d+1)$$$ $$$d$$$-element windows (sub-arrays) expressed as follows.

$$$\max\limits_{i = 0}^{n-d}~~[ \max\limits_{j = i}^{i+d-1} A[j] - \min\limits_{j = i}^{i+d-1} A[j] ]$$$

For test case 1:

6 2
6 0 8 8 8 4

There are 5 $$$2$$$-element sub-arrays with differences $$$[6,8,0,0,4]$$$, and the answer is 8.

For test case 2:

8 3
19 8 4 13 12 1 0 13

There are 6 $$$3$$$-element sub-arrays with differences $$$[15,9,9,12,13]$$$, and the answer is 15.

For test case 3:

2 2
1 1

There is only one $$$2$$$-element sub-array with difference $$$[0]$$$, and the answer is 0.