zoukankan      html  css  js  c++  java
  • 2018 Wannafly summer camp Day3--Shopping

    Shopping

    描述

    题目描述:

    你要买n件物品,其中有一些是凳子。

    商场正在举行促销活动,如果购物车中有至少一个凳子,那么你可以半价购买这个购物车中最贵的一个物品。

    你有m辆购物车,请最小化你的花费。

    输入:

    第一行一个整数t表示数据组数 (1t100)

    每组数据第一行两个整数n,m(1n,m1000),接下来n行每行两个整数ai,bi,分别表示第i件物品的价格以及它是否是凳子(1ai105,0bi1)

    输出:

    每组数据输出一行一个实数表示最小花费,保留一位小数。

    样例输入
    2
    5 1
    1 0
    2 1
    3 1
    4 0
    5 0
    5 10
    1 0
    2 1
    3 1
    4 0
    5 0
    样例输出
    12.5
    10.5
    将最贵的min(m,cnt)个物品打折,cnt为凳子个数
     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstdio>
     4 #include<cstdlib>
     5 using namespace std;
     6 int t, n, m,a[1005], b, cnt;
     7 double ans;
     8 bool cmp(int a, int b){return a > b;}
     9 int main(void) {
    10     cin >> t;
    11     while (t-- > 0) {
    12         cin >> n >> m;
    13         cnt = 0, ans = 0;
    14         for (int i = 0; i < n; i++) {
    15             cin >> a[i] >> b;
    16             if (b == 1)
    17                 cnt++;
    18         }
    19         sort(a, a + n, cmp);
    20         cnt = min(cnt, m);
    21         for (int i = 0; i < n; i++) {
    22             if (i < cnt)
    23                 ans += a[i] * 0.5;
    24             else
    25                 ans += a[i];
    26         }
    27         printf("%.1lf
    ", ans);
    28     }
    29     return 0;
    30 }
    View Code
    
    
  • 相关阅读:
    浏览器20年图说简史
    CF1437D Solution
    CF1446B Solution
    CF1444A Solution
    CF1437C Solution
    让您的网站拥有MSDN资源库搜索功能[转摘MSDN]
    自定义web part版面变形的原因
    SPS中模板保存数据库的位置
    利用配置文件自定义站点
    VS.NET2003 开发环境 生成样式表 和 自动书写HTML对象模型
  • 原文地址:https://www.cnblogs.com/FlyerBird/p/9433712.html
Copyright © 2011-2022 走看看