算法学习:计算满足掌握要求的最少学习题目数
类型:程序题

时间限制:1.0 s 内存限制:512.0 MB

题面描述

小杨计划学习m种算法,为此他找了 n 道题目来帮助自己学习,每道题目至多学习一次。 小杨对m种算法的初始掌握程度均为 0。第 i 道题目对应知识点 a_i,学习第i道题目可令小杨对第 a_i种算法的掌握程度提高 b_i。小杨的学习目标是让所有m种算法的掌握程度均至少达到 k。 小杨认为连续学习两道相同知识点的题目不符合要求,请你计算满足学习目标且不出现连续相同知识点题目的前提下,小杨最少需要学习多少道题目;如果不存在满足条件的方案,输出-1。

输入格式

第一行三个正整数m,n,k,分别代表算法种类数,题目数和目标掌握程度。 第二行n个正整数a_1,a_2,...a_n,代表每道题目的知识点。 第三行n个正整数b_1,b_2,...b_n,代表每道题目提升的掌握程度。

输出格式

输出一个整数,代表满足条件的最少学习题目数量,不存在满足条件的方案则输出-1。

样例1

输入:

3 5 10
1 1 2 3 3
9 1 10 10 1

输出:

4

样例2

输入:

2 4 10
1 1 1 2
1 2 7 10

输出:

-1

样例说明:对于样例1,一种最优学习顺序为第一道题,第三道题,第四道题,第二道题。

代码编辑器
测试用例输入
{{resultStatus.text}}