zoukankan      html  css  js  c++  java
  • poj 1789 Doing Homework again

    思路:找到当前所给延时最长的所包含的作业里面分数最大的完成它,eg:

    7
    1 4 6 4 2 4 3
    3 2 1 7 6 5 4
    当我在第7天的时候,没有延时 >=7 的,所以没有满嘴条件的,当在第6天的时候, 只可能完成一个作业就是1,完成它。第5天的时候可以完成延时为6的那个作业,
    但是第六天已经完成了,所以没有满足要求的,第四天的时候有四个满足要求的,一个延时为 6 三个延时为 4, 找到分数最大的以此类推即可:
     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 int t, n, dl[1100], sc[1100];
     5 int main()
     6 {
     7     while(~scanf("%d",&t))
     8     while(t --)
     9     {
    10         memset(dl, 0, sizeof(dl));
    11         memset(sc, 0, sizeof(sc));
    12         int sum = 0;
    13         scanf("%d",&n);
    14         for(int i = 0; i < n; i ++)
    15             scanf("%d",&dl[i]);
    16         for(int i = 0; i < n; i ++)
    17         {
    18             scanf("%d",&sc[i]);
    19             sum += sc[i];
    20         }
    21         int sum1 = 0, flag = n;
    22         for(int i = n; i > 0; i --)
    23         {
    24             int max = 0;
    25             for(int j = 0; j < n; j ++)
    26             {
    27                 if(dl[j] >= i && max < sc[j]) 
    28                 {
    29                     max = sc[j];
    30                     flag = j;
    31                 }
    32             }
    33             sum1 += max;
    34             sc[flag] = 0;
    35         }
    36         printf("%d\n",sum-sum1);
    37     }
    38     return 0;
    39 }
  • 相关阅读:
    卡特兰数
    割点和桥
    子序列(超级水)
    react 进行时
    又开启react之路
    关于特殊字体
    react 组件传值
    git 的安装和项目建立
    ES6 let and const
    js封装的一行半显示省略号(字数自由控制)
  • 原文地址:https://www.cnblogs.com/yuzhaoxin/p/2667544.html
Copyright © 2011-2022 走看看