问题 : 【贪心】赶作业
时间限制: 1 Sec 内存限制: 64 MB题目描述
小墨老师总是不及时做作业,所以他总有很多的作业要做。每个老师都给了他一个完成作业的最后期限,如果他超过期限交作业,老师就会在他的期末评价中扣分。假设做每一门作业总是要一天。小墨老师希望你能够帮助他安排做作业的一个顺序,以便能够被扣掉的分数最少。
输入
输入包含了多个测试用例。输入的第一行是一个整数T,代表测试用例的个数。接下来的就是T个测试用例的输入。每个测试用例都从一个正整数N(1≤N≤1000)开始,代表了作业的数目。接下来有2行。第一行包含N个整数,分别代表各个作业提交的最后期限;第二行也有N个整数,即对应于各个作业操过时间提交的扣分。
输出
对每一个测试用例,应该在一行中输出最小的扣分数。
样例输入
233 3 310 5 131 3 16 2 3
样例输出
03
1 #include2 #include 3 #include 4 5 using namespace std; 6 7 struct zuo 8 { 9 int s,f;10 };11 int cmp(zuo a,zuo b)12 {13 return a.f>b.f;14 }15 zuo a[1111];16 int t,n,tag[1111],sum,i,j;17 18 int main()19 {20 while(cin>>t)21 22 {23 while(t--)24 {25 memset(tag,0,sizeof(tag));26 sum=0;27 cin>>n;28 for(int i=0;i >a[i].s;30 for(int i=0;i >a[i].f;32 sort(a,a+n,cmp);33 for(i=0;i 0;j--)36 {37 if(tag[j]==0)38 {39 tag[j]=1;40 break;41 }42 }43 if(j==0)44 sum+=a[i].f;45 }46 cout< <
posted on 2016-07-22 10:14 阅读( ...) 评论( ...)