#P6683. [BalticOI 2020 Day1] 混合调料
[BalticOI 2020 Day1] 混合调料
题目描述
著名餐厅 Salt, Pepper & Garlic 的主厨 Serge 准备好成为一名米其林一星厨师。他已被告知,今晚一位秘密评审员将光临他的餐厅。
虽然他并没有得知这位评审员的姓名,但他已经得知了这位评审员将要点的菜和他的口味偏好。具体来说,这位评审员希望在菜肴中加入非常精确比例的盐,胡椒粉和大蒜粉。
Serge 在厨房的一个架子上放了若干盐,胡椒粉和大蒜粉的混合调料瓶。对于每种调料瓶,Serge 都知道该调料瓶中混合的盐,胡椒粉和大蒜粉的量(单位为千克),他可以通过将任意多瓶调料混合起来(当然也可以单独使用一瓶调料),得到所需比例的调料。
事实上菜肴里放的调料量并不多,因此可以认为调料的量是足够的。但是,评审员要求的盐,胡椒粉和大蒜粉的量之比中的数字可能非常大。
现在 Serge 想要求出,是否能够利用已有的调料瓶配制出满足评审员要求比例的调料?如果能够配制,最少需用多少个瓶子?
此外,Serge 可能会拿到新的调料瓶,或者将架子上已有的调料瓶给其他厨师,这意味着架子上的瓶子种类会不断发生改变,Serge 希望在每次架子上的调料瓶发生变化后,再解决上面的问题。
举个例子,假如评审员要求的盐,胡椒粉和大蒜粉的量的比例为 ,架子上有以下几种调料瓶:
调料瓶编号 | 盐 | 胡椒粉 | 大蒜粉 |
---|---|---|---|
1 | 10 | 20 | 30 |
2 | 300 | 200 | 100 |
3 | 12 | 15 | 27 |
则只需将瓶子 中的全部调料,和瓶子 中的 千克调料(其中包括盐 千克,胡椒粉 千克,大蒜粉 千克)混合即可满足要求。一旦取走瓶子 ,则无法满足评审员的要求。
输入格式
输入第一行包含三个整数 ,表示评审员要求的盐,胡椒粉,大蒜粉的量之比为 ,, 的混合调料也满足评审员要求。
下一行一个整数 ,表示架子上的瓶子要进行 次变动。最开始架子上没有瓶子。
接下来 行,每行描述一次变动。
- 若架子上新增了瓶子,则该行包含一个大写字母
A
和三个整数 ,分别代表该瓶中盐,胡椒粉,大蒜粉的量。瓶子按加入的先后顺序从 开始编号,即如果该瓶子是第 个加入架子的,则其编号为 。 - 若架子上移除了瓶子,则该行包含一个大写字母
R
和一个整数 ,代表移除的瓶子编号。保证该编号的瓶子在架子上。
输出格式
输出 行。第 行输出在第 次变动后,满足评审员要求所需的最少瓶子数量。特别地,若不存在一种方案满足评审员的要求,输出 。
1 2 3
6
A 5 6 7
A 3 10 17
R 1
A 15 18 21
A 5 10 15
R 3
0
2
0
2
1
1
提示
所有数据均满足:,,,,。
- 子任务 1(13 分):,;
- 子任务 2(17 分):,;
- 子任务 3(30 分):,;
- 子任务 4(40 分):无特殊限制。