PILBELLS - Editorial

PROBLEM LINK:

Practice
Contest: Division 1
Contest: Division 2
Contest: Division 3
Contest: Division 4

Author: iceknight1093
Tester: tabr
Editorialist: iceknight1093

DIFFICULTY:

885

PREREQUISITES:

None

PROBLEM:

The Child of Prophecy has rung K out of N bells.
Her initial mana level is P, and you know how much each bell increases it by.
What’s her current mana level?

EXPLANATION:

Doing some simple casework, the different types of increases can all be handled separately.

  • First, if K \leq X, all the bells rung will provide an increase of +10.
    So, the final mana level is P + 10\cdot K.
  • Next, if X \lt K \lt N, the first X bells will provide an increase of +10, and the remaining will provide an increase of +5.
    There are K-X bells after the first X, and so the mana level in this case is
P + 10\cdot X + 5\cdot (K-X)
  • Finally, if K = N, the second point above applies; but there’s a further increase of 20 to the mana level.
    In this case, the answer is
P + 10\cdot X + 5\cdot (N-X) + 20

Using if conditions to compare the values of K and X, all three conditions can be handled separately.

TIME COMPLEXITY

\mathcal{O}(1) per testcase.

CODE:

Editorialist's code (Python)
for _ in range(int(input())):
    n, x, k, p = map(int, input().split())
    if k <= x: print(p + 10*k)
    elif k < n: print(p + 10*x + 5*(k - x))
    else: print(p + 10*x + 5*(n-x) + 20)