题目描述
题目描述
有 n 名学生,m 门课,每名学生都选择了一门课。第 i 门课的名称为 si,最多可以接受 ci名学生,最少需要达到或超过 ci的一半才能开课。第 j 位学生所选的课程名为 ti,保证 ti一定和某个 si相等,保证所有课程名字仅由英文字母构成。
如果第 i 门课选修的人数多于 ci人,则多于 ci的那部分学生需要重新选课;
如果第 i 门课选修的人数没有达到 ci的一半,则选择该门课程的学生全部需要重新选课。
请统计最后有多少门课需要取消,以及有多少学生需要重新选课。
输入格式
第一行:两个正整数 m 和 n;
第二行到第 m+1 行:第 i+1 行有一个字符串 si及一个正整数 ci,分别表示第 i 门课的名称和人数上限;
接下来 n 行:每行一个字符串,表示一名学生选择的课程名字。
输出格式
第一行:单个整数,表示有多少门课不足开班要求;
第二行:单个整数,表示有多少学生需要重新选课。
数据范围
1≤n≤1000
1≤m≤1000
1≤ci≤1000
数据保证所有课程名称的字符串长度不超过 20。
样例数据
输入:
3 10
computer 4
math 4
english 4
computer
math
computer
computer
computer
english
computer
computer
english
english
输出:
1
3
说明:
math不足最低要求人数,computer超额2人,共1+2=3人需要再次选课