题库练习 算法学习

A71634 | 算法学习

来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

小杨计划学习 m 种算法,为此他找了 n 道题目来帮助自己学习,每道题题目至多学习一次。

小杨对于 m 种算法的初始掌握程度均为 0 。第 i 道题目有对应的知识点 a_i,即学习第 i 道题目可以令小杨对第 a_i 种算法的掌握程度提高 b_i 。小杨的学习目标是对 m 种算法的掌握程度均至少为 k

小杨认为连续学习两道相同知识点的题目是不好的,小杨想请你编写程序帮他计算出他最少需要学习多少道题目才能使得他在完成学习目标的同时避免连续学习两道相同知识点的题目。

输入格式

第一行三个正整数 m,n,k,代表算法种类数,题目数和目标掌握程度。

第二行 n 个正整数 a_1 , a_2, a_3, \dots ,a_n,代表每道题目的知识点。

第二行 n 个正整数 b_1 , b_2, b_3, \dots ,b_n,代表每道题目提升的掌握程度。

输出格式

输出一个整数,代表小杨最少需要学习题目的数量,如果不存在满足条件的方案,输出 -1

输入输出样例

输入 #1
3 5 10
1 1 2 3 3
9 1 10 10 1
输出 #1
4
输入 #2
2 4 10
1 1 1 2
1 2 7 10
输出 #2
-1
输入 #3
7 12 8
1 2 3 4 4 4 5 6 6 7 7 7
10 10 10 2 5 6 10 10 7 2 8 10
输出 #3
8
C++ 编辑器
输入
输出