2018 Wannafly summer camp Day3--Shopping
Shopping
描述
题目描述:
你要买n件物品,其中有一些是凳子。
商场正在举行促销活动,如果购物车中有至少一个凳子,那么你可以半价购买这个购物车中最贵的一个物品。
你有m辆购物车,请最小化你的花费。
输入:
第一行一个整数t表示数据组数 (1≤t≤100)。
每组数据第一行两个整数n,m(1≤n,m≤1000),接下来n行每行两个整数ai,bi,分别表示第i件物品的价格以及它是否是凳子(1≤ai≤105,0≤bi≤1)。
输出:
每组数据输出一行一个实数表示最小花费,保留一位小数。
样例输入
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\n", ans); 28 } 29 return 0; 30 }
(。・∀・)ノ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架