## A. Red and Blue Beans

### Solution:

Take the minimum value of $r$ and $b$ as $min$ and the maximum value as $max$.

Then distribute them to $max-min$ packets. Each packet put only 1 red bean and 1 blue bean.

Then the rest of the $max$ is divided into each packet to see if there are packets more than $d$ beans.

### Code:

## B. The Cake Is a Lie

### Solution:

The cost is fixed. The cost must be $n -1+(m -1)\times n$.

### Code

## C. Berland Regional

### Solution:

Calculate the prefix sum of skill point of student at each university. Then directly solve it with brute force.

It will not get TLE. Because for each university, we can skip when the $k$ exceed the number of students.

### Code:

### D. Maximum Sum of Products

### Solution:

It can be regarded as a DP problem, although its essence is brute force.

Define $base=\sum\limits_{i=1}^n a_i \cdot b_i$. Which is the sum without reverse anything.

We define $dp[i][j]$ to represent the sum after reversed $[i,j]$ from $a$. It's not hard to find that: $$dp[i][j]=a[i]\cdot b[j] + a[j]\cdot b[i] - (a[i]\cdot b[i] + a[j]\cdot b[j]) + dp[i+1][j-1] + base$$

Of course, $dp[i][i]=base$. And $dp[i][i+1]$ is quite easy to find out.