Ignatius刚刚从第30届ACM / ICPC回到学校。现在他有很多作业要做。每个老师给他一个截止作业的截止日期。如果Ignatius在截止日期之后进行了家庭作业,老师将减少他的最终考试成绩。现在我们假设做每个老师的作业总是需要一天的时间。以Ignatius希望你帮他安排做作业的顺序来减少分数的减少。

输入

每个测试用例从正整数N(1 <= N <= 1000)开始,表示作业数。然后两行。 第一行包含N个整数,表示作业的期限,下一行包含N个整数,表示减少的分数。
输出

对于每个测试用例,应该输出减少的最小总分数,每个测试用例一行。

Sample Input

3
3
3 3 3
10 5 1
3
1 3 1
6 2 3
7
1 4 6 4 2 4 3
3 2 1 7 6 5 4

Sample Output

0
3
5
Ignatius比赛回来之后,每位老师给Ignatius一个交作业的最后期限,如果交不上去就扣分。每门作业都要一天时间完成,求最少扣多少分。先输入一个T表示有T组测试数据,接下来每组数据先输入一个N,代表有N个作业,然后输入两行,第一行表示每门作业要交的日期,第二行表示对应的如果不交这门作业要扣的分数。输出要扣的最少分数。
 #include<bits/stdc++.h>
using namespace std;
struct node{
int dayline;
int descore;
bool flag;
}homework[];
bool cmp(node a,node b)
{
if(a.dayline!=b.dayline)
return a.dayline < b.dayline; /*按期限从短到长排序*/
else
return a.descore>b.descore; /*如果期限相同,按被扣分数从高到低来排序*/
} int main()
{
int t,n,temp;
while(cin>>t)
{
while(t--)
{
scanf("%d",&n); /*作业的数量*/
for(int i = ; i < n; i++) /*读取作业的期限*/
scanf("%d",&homework[i].dayline);
for(int i = ; i < n; i++) /*读取未完成作业被扣除的分数*/
{
scanf("%d",&homework[i].descore);
homework[i].flag = true; /*标记可完成*/
} sort(homework,homework+n,cmp);
int ans = ; /*统计被扣除的分数*/
int day = ; /*截止日期*/
for(int i = ; i < n; i++)
{
if(homework[i].dayline >= day)
day++;
else{
int p = homework[i].descore;
int temp = i;
for(int j =; j < i; j++) /*往前面搜索,查找是否有被扣分数较小的*/
if(homework[j].descore < p && homework[j].flag) /*被扣分数较少 并且是可完成的(用来完成被扣分较大的作业)*/
{
p = homework[j].descore;
temp = j;
} ans += p;
homework[temp].flag = false; /*标记不可完成*/
} }
cout<<ans<<endl;
}
}
return ;
}

ACM Doing Homework again的更多相关文章

  1. hdu-1789-Doing Homework again

    /* Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...

  2. 杭电ACM分类

    杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...

  3. HDU 1789 Doing Homework again (贪心)

    Doing Homework again http://acm.hdu.edu.cn/showproblem.php?pid=1789 Problem Description Ignatius has ...

  4. 【转载】ACM总结——dp专辑

    感谢博主——      http://blog.csdn.net/cc_again?viewmode=list       ----------  Accagain  2014年5月15日 动态规划一 ...

  5. hdoj 1789 Doing Homework again

    Doing Homework again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  6. HDU 1074 Doing Homework (dp+状态压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:学生要完成各科作业, 给出各科老师给出交作业的期限和学生完成该科所需时间, 如果逾期一 ...

  7. hdu1074 Doing Homework(状态压缩DP Y=Y)

    Doing Homework Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  8. HDU1789(Doing Homework again)题解

    HDU1789(Doing Homework again)题解 以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 给定任务分数和其截止日期,每日可完成一任务,输出当罚分尽可能小时 ...

  9. I - Doing Homework again

    I - Doing Homework again Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

随机推荐

  1. Python入门之PyCharm的快捷键与常用设置和扩展(Win系统)

    1.  PyCharm的快捷键 2 . PyCharm的常用设置和扩展 ---------------------------------------------------------------- ...

  2. jQuery ajax方法success()中后台传来的四种数据类型

    1.后台返回一个页面 js代码 /**(1)用$("#content-wrapper").html(data);显示页面*/ $.ajax({ async : false, cac ...

  3. Django:(博客系统)添加文章(中文)出现UnicodeEncodeError乱码

    添加文章时出现了一个UnicodeEncodeError乱码问题 在添加文章时,抛出了异常: 解决方案,修改manage.py(添加import sys reload(sys) sys.setdefa ...

  4. css常见属性

    css常见属性 1.颜色属性 1.1 color属性定义文本的颜色 1.2 color:green 1.3 color:#ff6600 可简写为#f60 1.4 color:rgb(255,255,2 ...

  5. 分析ajax请求抓取今日头条关键字美图

    # 目标:抓取今日头条关键字美图 # 思路: # 一.分析目标站点 # 二.构造ajax请求,用requests请求到索引页的内容,正则+BeautifulSoup得到索引url # 三.对索引url ...

  6. javascript实现图片延迟加载方法汇总(三种方法)

    看到一些大型网站,页面如果有很多图片的时候,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,跟着小编一 ...

  7. Windows下安装Python3和Django

    下载python3 首先去 python的官网 下载最新稳定版的python3, 我下载的时候python3的最新版本是3.6.5. 亦可点击 此链接 直接下载. 安装python3 傻瓜式安装,注意 ...

  8. ES6 继续 变量的解构赋值

    春节放假这几天,感觉跟梦一样,瞬间就过去了.现在上班的前几天,都感觉有点不真实,不过看到口袋里的钱,就知道,是真真实实的度过了这个假期. 现在得开始重新工作了: 变量的解构赋值 ES6 允许按照一定模 ...

  9. [LeetCode] String Compression 字符串压缩

    Given an array of characters, compress it in-place. The length after compression must always be smal ...

  10. python包安装和使用机制

    python语言的魅力之一就是大量的外置数据包,能够帮助使用者节省很多时间,提高效率.模块下载和引用是最常见的操作,现在解析内部的原理和背后发生的故事,做到心里有数. 导航: 基本定义 模块使用 模块 ...