#P1076. 2023.3.12-塔子哥进行团建

2023.3.12-塔子哥进行团建

题目内容

塔子哥是公司里的一名领导,他负责组织今年的团建活动。这个团建活动很重要,因为公司里的员工们都非常忙碌,很少有机会聚在一起,所以这次活动是大家期待已久的。

为了让所有人都能够参加到自己想要参加的活动,塔子哥收集了所有人的意愿,并准备了三个不同的活动:AABBCC,每个活动都有不同的人数上限和参加费用。

为了让所有人都能参加到自己想要参加的活动,塔子哥收集了所有人的投票结果。现在他希望在满足所有人的意愿的前提下,尽可能地降低团建的总费用。

但是,塔子哥面临着一个难题,因为人们的意愿各不相同,他需要考虑每个人的选择,才能做出最好的决策。

因此,他找到了你,希望你能够帮助他找到一个最佳的团建方案,以让大家都能开心参与,并且尽可能地降低费用。

输入描述

第一行,一个整数 NN ,代表准备参加活动的人数。( 1N1001\le N\le 100

接下来 NN 行,每行一个由 "ABC" 组成的字符串,其中第 ii 行表示第 ii 个人投票了哪几个活动。(输入保证字符串非空,且由大写的 "ABC" 字符组成)

最后 33 行,每行两个整数,分别表示三个活动的人数上限以及每个人参加的费用。(人数上限以及参与活动的费用均为不超过 100100 的正整数)

输出描述

输出共 22

如果能满足所有人的要求,第一行输出 "YES" ,第二行输出最少的总费用。

如果不能满足所有人的要求,第一行输出 "NO" ,第二行输出最多能满足多少人。

样例

样例一

输入

5
A
B
C
AB
ABC
2 1
2 2
2 3

输出

YES
9

样例解释

可以满足所有人的要求,其中一种费用最少的方案:

A:{ 141,4 }

B:{ 252,5 }

C:{ 33 }

总共需要费用:12+22+31=91*2+2*2+3*1=9

样例二

输入

5
A
B
C
AB
AB
1 1
2 2
3 3

输出

NO
4

样例解释

无法满足所有人的需求,其中一种满足最多人的方案: A:{ 11 } B:{ 242,4 } 3:{ 33 } 共 44