博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU - 1789 Doing Homework again 贪心
阅读量:6158 次
发布时间:2019-06-21

本文共 2078 字,大约阅读时间需要 6 分钟。

Doing Homework again

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 15893    Accepted Submission(s): 9247
Problem Description
Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in the homework after the deadline, the teacher will reduce his score of the final test. And now we assume that doing everyone homework always takes one day. So Ignatius wants you to help him to arrange the order of doing homework to minimize the reduced score.
 
Input
The input contains several test cases. The first line of the input is a single integer T that is the number of test cases. T test cases follow.

Each test case start with a positive integer N(1<=N<=1000) which indicate the number of homework.. Then 2 lines follow. The first line contains N integers that indicate the deadlines of the subjects, and the next line contains N integers that indicate the reduced scores.

 
Output
For each test case, you should output the smallest total reduced score, one line per test case.

 
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

这题与 题 思路差不多,先将数组按扣分多少从大到小排序,扣分相同时将时间按从小到大排,然后循环求解。

#include
#include
#include
using namespace std;struct dead{ int day,red;};bool cmp(dead a, dead b){ if (a.red!=b.red) return a.red > b.red; return a.day < b.day;}int wri[1005];int main(){ int T,N; scanf("%d", &T); struct dead line[1005]; while (T--) { scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &line[i].day); } for (int i = 0; i < N; i++) { scanf("%d", &line[i].red); } sort(line, line + N, cmp); int sum = 0,j=0; memset(wri, 0, sizeof(wri)); for (int i = 0; i < N; i++) { j = line[i].day; while (j) { if (!wri[j])//判断这天是否写过作业 { wri[j] = 1; break; } j--; } if (j == 0) sum += line[i].red; } printf("%d\n", sum); } return 0;}

转载于:https://www.cnblogs.com/csu-lmw/p/9124476.html

你可能感兴趣的文章
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
AOP
查看>>
NGUI Label Color Code
查看>>
Webpack 2 中一些常见的优化措施
查看>>
移动端响应式
查看>>
js中var、let、const的区别
查看>>
简洁优雅地实现夜间模式
查看>>
react学习总结
查看>>
在soapui上踩过的坑
查看>>
MySQL的字符集和字符编码笔记
查看>>
ntpd同步时间
查看>>
must implement java.io.Serializable hessian
查看>>
Microsoft Licenses Flash Lite for Windows Mobile Users
查看>>
HDOJ 2020 绝对值排序
查看>>
HDOJ/HDU 2560 Buildings(嗯~水题)
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>