题意
伊格内修斯刚从第30届ACM/ICPC毕业。现在他有很多家庭作业要做。每个老师都给他一个交作业的最后期限。如果伊格内修斯在最后期限后交作业,老师就会降低他的期末考试分数。现在我们假设每个人做作业都要花一天的时间。所以伊格那丢想让你帮他安排作业的顺序,把减少的分数减到最小。
输入
输入包含几个测试用例。输入的第一行是一个整数T,它是测试用例的数量。接下来是T测试用例。每个测试用例都以一个正整数N(1<=N<=1000)开始,表示家庭作业的数量。然后是两行。第一行包含N个整数,表示科目的截止日期,下一行包含N个整数,表示减少的分数。
输出
对于每个测试用例,您应该输出最小的总减少分数,每个测试用例一行。
思路:
贪心,选择最少的几个作业把他放在后面做,使得其他的作业都能完成 。
这里我是先按完成日期从小到大排序,如果日期相同,按扣分从大到小排序(先把扣分多的完成)
然后暴力:第一个for循环查找无法完成的作业 i,第二个for循环查找完成日期在 i 之前的并且扣分比他少的作业 j ,然后 j 作业不做!
查找无法完成的作业,我们可以用ans来记录时间(也就是当前完成的作业数+1),然后用ans和每个作业完成日期对比,如果完成日期>=ansÿ