第26892题 程序题
计算满足无连续相同知识点要求的最少算法刷题数

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

题面描述

小杨计划学习m种算法,为此他找了n道题目来帮助自己学习,每道题目至多学习一次。 小杨对于m种算法的初始掌握程度均为 0。第i道题目有对应的知识点a_i,即学习第i道题目可以令小杨对第a_i种算法的掌握程度提高b_i。小杨的学习目标是对m种算法的掌握程度均至少为k 。 小杨认为连续学习两道相同知识点的题目是不好的,小杨想请你编写程序帮他计算出他最少需要学习多少道题目才能使得他在完成学习目标的同时避免连续学习两道相同知识点的题目。

输入格式

第一行三个正整数m,n,k,代表算法种类数,题目数和目标掌握程度。 第二行n个正整数a₁,a₂,…,aₙ,代表每道题目的知识点。 第三行n个正整数b₁,b₂,…,bₙ,代表每道题目提升的掌握程度。

输出格式

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

输入样例1

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

输出样例1

4

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

输入样例2

2 4 10
1 1 1 2
1 2 7 10

输出样例2

-1

子任务

子任务编号 数据点占比 m n b_i k
1 30% =2 ≤9 ≤10 ≤10
2 30% ≤9 ≤9 ≤10 ≤10
3 40% ≤1e5 ≤1e5 ≤1e5 ≤1e5

数据范围

对于全部数据,保证有1≤m,n≤1e5,1≤b_i,k≤1e5,1≤a_i≤m。

编辑模式
程序运行统计
暂无判题统计