zoukankan      html  css  js  c++  java
  • 杭电1789_贪心

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789

    题目大意:有 t 组数据, 每组数据包含一个n, n个作业的截止日期 和 迟交要扣的分数, 问做完这些作业扣的最少分数是多少?

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <algorithm>
     5 #include <cstdlib>
     6 #include <cmath>
     7 #include <set>
     8 #include <map>
     9 #include <vector>
    10 using namespace std;
    11 
    12 struct node
    13 {
    14     int f, t;
    15 }a[1001];
    16 int cmp(node a, node b)//扣分高的肯定先做, 排在前面,然后是截止日期小的排前面
    17 {
    18     if(a.f != b.f)
    19         return a.f > b.f;
    20     else
    21         return a.t < b.t;
    22 }
    23 int ans[10010];
    24 int main()
    25 {    
    26     int t, n;
    27     scanf("%d", &t);
    28     while(t--)
    29     {
    30         scanf("%d", &n);
    31         for(int i = 1; i <= n; i++)
    32             scanf("%d", &a[i].t);
    33         for(int j = 1; j <= n; j++)
    34             scanf("%d", &a[j].f);
    35         sort(a + 1, a + n + 1, cmp);   
    36         memset(ans, 0, sizeof(ans));  
    37         int sum = 0;
    38         for(int i = 1; i <= n; i++)
    39         {
    40             int temp = a[i].t;
    41             while(ans[temp])           
    42                 temp--;
    43             if(temp == 0)
    44                 sum += a[i].f;                        
    45             else
    46                 ans[temp] = 1;
    47         }
    48         printf("%d
    ", sum);
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    MYSQL[34]
    MYSQL[32]
    mysql字符集的问题
    MYSQL[31]
    开源RPC框架简介
    MYSQL[35]
    版本号的表示方法
    MYSQL[29]
    MYSQL[39]
    hdu 1166【树状数组】
  • 原文地址:https://www.cnblogs.com/luomi/p/5515789.html
Copyright © 2011-2022 走看看