问题 C: 学生再分配

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:259 通过:166

题目描述

        在春晖中学,评价一个高中生的学习成绩为1到5之间的整数值。
        在春晖中学有两组学生:A组和b组。每组恰好由n个学生组成。每个学生的学习成绩是已知的1到5之间的整数。
         班主任想要在两个组之间重新分配学生,使两个组中学习成绩为1的学生人数相同,学习成绩为2的学生人数相同,以此类推。换句话说,班主任的目的是改变小组的组成,这样对于每一个学习成绩值,两个小组的学生人数是相等的。
        为了实现这一目标,我们计划在不同小组之间进行一系列的学生交换。在一次交换中,主任从A班和b班各选一名学生,之后,他们都换组。
        输出使每个学业成绩的学生数量相等的最少的交换次数,如果不存在任何使条件成立的方案,输出-1。

输入格式

输入的第一行包含整数n(1≤n≤100),代表两组中的学生数量。
第二行包含一系列数字a1,a2,...,an (1≤ai≤5),其中ai 是A组第i个同学的学业表现。
第三行包含一系列数字b1,b2,...,bn (1≤bi≤5),其中bi 是B组第i个同学的学业表现。

输出格式

输出所要求的交换的最小次数,如果无法达成对学生的要求就输出-1。
输入样例
4
5 4 4 4
5 5 4 5
Output
1
Input
6
1 1 1 1 1 1
5 5 5 5 5 5
Output
3
Input
1
5
3
Output
-1
Input
9
3 2 5 5 2 3 3 3 2
4 1 4 1 1 2 4 4 1
Output
4

输入样例 复制

4
5 4 4 4
5 5 4 5

输出样例 复制

1

数据范围与提示

100
5 2 5 2 2 3 3 2 5 3 2 5 3 3 3 5 2 2 5 5 3 3 5 3 2 2 2 3 2 2 2 2 3 5 3 3 2 3 2 5 3 3 5 3 2 2 5 5 5 5 5 2 3 2 2 2 2 3 2 5 2 2 2 3 5 5 5 3 2 2 2 3 5 3 2 5 5 3 5 5 5 3 2 5 2 3 5 3 2 5 5 3 5 2 3 3 2 2 2 2
5 3 5 3 3 5 2 5 3 2 3 3 5 2 5 2 2 5 2 5 2 5 3 3 5 3 2 2 2 3 5 3 2 2 3 2 2 5 5 2 3 2 3 3 5 3 2 5 2 2 2 3 3 5 3 3 5 2 2 2 3 3 2 2 3 5 3 5 5 3 3 2 5 3 5 2 3 2 5 5 3 2 5 5 2 2 2 2 3 2 2 5 2 5 2 2 3 3 2 5


1