zoukankan      html  css  js  c++  java
  • HDU 5742

    题意:
        给出序列 a[] 的其中几项 ,已知序列满足非减,并且 0 <= ai <= 100, 问 (a1 + a2) / ( ∑ai)最大可能是多少
        
    分析:
        保证 a1,a2尽可能大, 其余尽可能小即可

     1 #include <iostream>
     2 #include <cstring>
     3 using namespace std;
     4 int t, n, m;
     5 int a[105];
     6 int GCD(int a, int b)
     7 {
     8     return b == 0? a : GCD(b, a % b);
     9 }
    10 int main()
    11 {
    12     scanf("%d", &t);
    13     while (t--)
    14     {
    15         memset(a, -1, sizeof(a));
    16         scanf("%d%d", &n, &m);
    17         if (m == 0 || n == 2)
    18         {
    19             puts("1/1"); continue;
    20         } 
    21         for (int i = 1; i <= m; i++)
    22         {
    23             int x, y;
    24             scanf("%d%d", &x, &y);
    25             a[x] = y;
    26         }
    27         int Min=0;
    28         for (int i = n; i > 2; i--)
    29         {
    30             if (a[i] == -1) a[i] = Min;
    31             else Min = a[i];
    32         }
    33         if (a[1] == -1) a[1] = 100;
    34         if (a[2] == -1) a[2] = a[1];
    35         int tu = a[1] + a[2], td = 0;
    36         for (int i = 1; i <= n; i++) td += a[i]; 
    37         int gcd = GCD(tu, td);
    38         tu /= gcd;
    39         td /= gcd;
    40         printf("%d/%d
    ", tu, td);
    41     }
    42 } 
    我自倾杯,君且随意
  • 相关阅读:
    二叉树
    bfs
    E-Gold Coins
    D-We Love MOE Girls
    A
    哈希--查找出现过的数字
    二分查找
    KMP简单应用
    KMP算法(2)
    [JSOI2008]最大数
  • 原文地址:https://www.cnblogs.com/nicetomeetu/p/5754447.html
Copyright © 2011-2022 走看看