#P17342. [ECNA 2025] A Little Leftover Pizza

[ECNA 2025] A Little Leftover Pizza

题目描述

计算机科学系刚举办了一场盛大的聚会,却订了太多披萨。现在该收拾剩下的食物了。他们订购了若干小号、中号和大号披萨,其中一些或全部披萨盒里仍有剩余切片。小号披萨切成 66 片,中号切成 88 片,大号切成 1212 片。

为了节省空间,你可以把相同尺寸披萨的剩余切片合并到一个对应尺寸的披萨盒中;但不能把切片放进不同尺寸披萨的盒子里,也不能让一个盒子中的切片数超过它最初能容纳的数量。

求装下所有剩余披萨至少需要多少个盒子。

输入格式

第一行包含一个正整数 nnn<1000n<1000),表示订购的披萨数量。

接下来的 nn 行中,每行包含以空格分隔的两个量 si,lis_i,l_i,表示第 ii 个披萨的剩余情况。sis_i 是字符串 SML,表示披萨尺寸;lil_i 是整数,表示该披萨剩余的切片数。保证 lil_i00 与对应尺寸披萨原有切片数之间,包括端点。

输出格式

输出一个整数,表示在上述限制下装下所有剩余披萨所需盒子总数的最小值。

3
S 0
M 5
L 0
1
3
S 3
S 4
S 2
2
4
S 1
M 1
M 3
L 1
3
4
L 6
M 2
M 6
L 6
2