10440: USACO 2024 February Contest, Platinum Problem 1. Lazy Cow
[Creator : ]
Description
Bessie is hard at work preparing test cases for the USA Cowmputing Olympiad
February contest. Each minute, she can choose to not prepare any tests,
expending no energy; or expend $3^{a-1}$ energy preparing $a$ test cases, for
some positive integer $a$.
Farmer John has $D$ ($1\le D\le 2\cdot 10^5$) demands. For the $i$th demand, he
tells Bessie that within the first $m_i$ minutes, she needs to have prepared at
least $b_i$ test cases in total ($1\le m_i\le 10^6, 1 \leq b_i \leq 10^{12}$).
Let $e_i$ be the smallest amount of energy Bessie needs to spend to satisfy the
first $i$ demands. Print $e_1,\dots,e_D$ modulo $10^9+7$.
Input
The first line contains $D$. The $i$th of the next $D$ lines contains two
space-separated integers $m_i$ and $b_i$.
Output
Output $D$ lines, the $i$th containing $e_i \text{ mod } 10^9+7$.
Constraints
- Inputs 4-5: $D\le 100$ and $m_i \le 100$ for all $i$
- Inputs 6-8: $D\le 3000$
- Inputs 9-20: No additional constraints.
Sample 1 Input
4
5 11
6 10
10 15
10 30
Sample 1 Output
21
21
25
90
For the first test case,
- $i=1$: If Bessie creates $[2, 3, 2, 2, 2]$ test cases on the first $5$ days, respectively, she would have expended $3^1 + 3^2 + 3^1 + 3^1 + 3^1 = 21$ units of energy and created $11$ test cases by the end of day $5$.
- $i=2$: Bessie can follow the above strategy to ensure $11$ test cases are created by the end of day $5$, and this will automatically satisfy the second demand.
- $i=3$: If Bessie creates $[2, 3, 2, 2, 2, 0, 1, 1, 1, 1]$ test cases on the first $10$ days, respectively, she would have expended $25$ units of energy and satisfied all demands. It can be shown that she cannot expend less energy.
- $i=4$: If Bessie creates 3 test cases on each of the first $10$ days she would have expended $3^{2}\cdot 10 = 90$ units of energy and satisfied all demands.
Sample 2 Input
2
100 5
100 1000000000000
Sample 2 Output
5
627323485
Sample 3 Input
20
303590 482848034083
180190 112716918480
312298 258438719980
671877 605558355401
662137 440411075067
257593 261569032231
766172 268433874550
8114 905639446594
209577 11155741818
227183 874665904430
896141 55422874585
728247 456681845046
193800 632739601224
443005 623200306681
330325 955479269245
377303 177279745225
880246 22559233849
58084 155169139314
813702 758370488574
929760 785245728062
Sample 3 Output
108753959
108753959
108753959
148189797
148189797
148189797
148189797
32884410
32884410
32884410
32884410
32884410
32884410
32884410
3883759
3883759
3883759
3883759
3883759
3883759