#GESPC620240902. GESP-2024年09月份 C++六级 编程题2 算法学习

GESP-2024年09月份 C++六级 编程题2 算法学习

题目描述

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

小杨对于mm种算法的初始掌握程度均为0。

ii道题目有对应的知识点aia_i ,即学习第ii道题目可以令小杨对第aia_i种算法的掌握程度提高 。

小杨的学习目标是对mm种算法的掌握程度均⾄少为kk

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

输入格式

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

第⼆行nn个正整数a1a_1,a2a_2,a3a_3,...ana_n ,代表每道题目的知识点。

第三行nn个正整数b1b_1,b2b_2,b3b_3,...bnb_n ,代表每道题目提升的掌握程度。

输出格式

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

样例 #1

样例输入 #1

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

样例输出 #1

4

样例 #2

样例输入 #2

2 4 10
1 1 1 2
1 2 7 10

样例输出 #2

-1

提示

对于样例1,⼀种最优学习顺序为第⼀道题,第三道题,第四道题,第⼆道题。

对于全部数据,保证有1m,n105,1bi,k105,1aim1\le m,n\le 10^5,1\le b_i,k \le 10^5,1\le a_i \le m