zoukankan      html  css  js  c++  java
  • HDU3420 Bus Fair

      晚上果然是头昏脑涨,有点蛋蛋的忧伤啊。  该题讲的是一个交通系统,车票可以共享,即所有人坐车时,只要满足所有人加起来的时间比车票的总面值小就行,所以当有一个人要坐到更远的地方时,只要查看已经买的票是否够用,如果不够用就要增买车票。也即是车票能够满足后面的人能够到达这一站。  所以每次更新准则就是前面的车票总额能否使后面的人都到达下一站,如果能,花费不变,否则,花费为前面所述。

      代码如下:

     1 #include <cstdio>
    2 #include <cstring>
    3 #include <cstdlib>
    4 #include <algorithm>
    5 #define Max( a, b ) (a) > (b) ? (a) : (b);
    6 using namespace std;
    7
    8 int rec[1005];
    9
    10 int main()
    11 {
    12 int N;
    13 while( scanf( "%d", &N ) != EOF )
    14 {
    15 int cost = 0;
    16 for( int i = 0; i < N; ++i )
    17 {
    18 scanf( "%d", &rec[i] );
    19 }
    20 sort( rec, rec + N );
    21 for( int i = 0; i < N; ++i )
    22 {
    23 if( cost < ( N - i ) * rec[i] )
    24 cost = ( N - i ) * rec[i];
    25 }
    26 printf( "%d\n", cost );
    27 }
    28 return 0;
    29 }

      

  • 相关阅读:
    纸牌排序
    将年份转换成天干地支
    猜算式
    字符串的简单处理
    九宫格填数字
    扫雷
    嗨喽
    Input.GetAxis与Input.GetAxisRaw区别
    C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
    开发游戏所需知识(知乎转载)
  • 原文地址:https://www.cnblogs.com/Lyush/p/2155461.html
Copyright © 2011-2022 走看看