zoukankan      html  css  js  c++  java
  • 牛客寒假算法基础集训营3 D. 处女座的训练

    链接:https://ac.nowcoder.com/acm/contest/329/D

    思路:贪心即可。按照ai/bi顺序由小到大排序,再按照题意按顺序求和输出即可。

     1 #include<bits/stdc++.h>
     2 const int M = 100005;
     3 using namespace std;
     4 typedef long long ll;
     5 struct course {
     6     ll min, t;
     7 }a[M];
     8 bool cmp(course a, course b)
     9 {
    10     return a.min * b.t < b.min*a.t;
    11 }
    12 int main()
    13 {
    14     ll cnt=0;
    15     ll n; cin >> n;
    16     for (ll i = 0; i < n; i++)
    17     {
    18         cin >> a[i].min >> a[i].t;
    19         cnt += a[i].t;
    20     }
    21     sort(a, a + n, cmp);
    22     ll sum=0;
    23     for (ll i = 0; i < n; i++)
    24     {
    25         cnt -= a[i].t;
    26         sum += cnt * a[i].min;
    27     }
    28     cout << sum << endl;
    29     return 0;
    30 }

    备注:注意本题数据量较大,用long long。

    吐槽:看着像背包,就果断弃了,结果是贪心,亏了亏了。

    ————————————————
    心里有光,哪儿都美
  • 相关阅读:
    shell--练习--简易计算器
    shell--运算符
    shell--传递参数
    PHP数学函数的练习
    PDO对数据库的操作
    PHP实现手机短信的验证
    ThinkPHP框架 _ 学习16
    ThinkPHP框架 _ 学习15
    ThinkPHP框架 _ 学习14
    ThinkPHP框架 _ 学习13
  • 原文地址:https://www.cnblogs.com/harutomimori/p/10324799.html
Copyright © 2011-2022 走看看