news 2026/3/23 11:42:42

Ticket Hoarding(1400)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ticket Hoarding(1400)

题目描述

思路描述

容易想到,本题要确保购买天数最少,设购买的天数为cnt,那么要在n天内挑选出门票最小的cnt天。当然,我们考虑,门票价格越小则购买越多,反之,门票价格越大则购买越少。

至于天数cnt,我们可知要购买k张门票,而每天最多只能购买m张票,所以cnt=(k+m-1)/m;

将门票价格先按价格排序挑出cnt天,然后将这cnt天按照输入时的顺序排序。用num记录买了多少张。如果当天价格不是cnt天中最大的,就买m张票,否则就买k%m,除非有多个最大门票价格。

#include<bits/stdc++.h> #define int long long using namespace std; struct node { int v,id; }; bool cmp1(node a,node b) { if(a.v==b.v) return a.id<b.id; return a.v<b.v; } bool cmp2(node a,node b) { return a.id<b.id; } void solve() { int n,m,k;cin>>n>>m>>k; vector<node>a(n); for(int i=0;i<n;i++) { cin>>a[i].v; a[i].id=i; } sort(a.begin(),a.end(),cmp1); int cnt=(k+m-1)/m; int c=k%m; vector<node>b(cnt); for(int i=0;i<cnt;i++) { b[i]=a[i]; } sort(b.begin(),b.end(),cmp2); int ans=0; int num=0; int f=0; for(int i=0;i<cnt;i++) { if(c&&!f&&b[i].v==a[cnt-1].v) { ans+=c*(b[i].v+num); num+=c; f=1; } else { ans+=m*(b[i].v+num); num+=m; } } cout<<ans<<endl; } signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int T;cin>>T; while(T--) { solve(); } return 0; }

谢谢观看!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/17 9:35:33

2026必备!10个AI论文平台,专科生轻松搞定毕业论文!

2026必备&#xff01;10个AI论文平台&#xff0c;专科生轻松搞定毕业论文&#xff01; AI 工具助力论文写作&#xff0c;专科生也能轻松应对 随着人工智能技术的不断发展&#xff0c;越来越多的 AI 工具被应用于学术写作领域&#xff0c;为学生提供了强大的支持。对于专科生来说…

作者头像 李华
网站建设 2026/3/17 8:25:13

SaaS软件

SaaS软件深度解析&#xff1a;定义、特征、市场趋势与应用实践一、核心定义与本质特征SaaS&#xff08;Software as a Service&#xff0c;软件即服务&#xff09;是云计算的三大服务模式之一&#xff0c;通过互联网为用户提供按需访问的完整应用程序。其本质是“即用即付”的云…

作者头像 李华
网站建设 2026/3/19 20:32:51

高频信号处理篇---线圈匝数比

我们把它想象成两个“线圈兄弟”之间的能量传递游戏。一、先记住核心原理变压器工作的核心是 “磁”的感应&#xff1a;第一个线圈&#xff08;初级线圈&#xff09; 通上交流电&#xff0c;会产生一个不断变化的磁场。第二个线圈&#xff08;次级线圈&#xff09; 放在这个变化…

作者头像 李华
网站建设 2026/3/15 9:36:35

springboot企业采购管理系统的设计与实现

背景分析 企业采购管理是供应链核心环节&#xff0c;传统采购模式依赖人工操作&#xff0c;存在效率低、透明度差、数据孤岛等问题。随着数字化转型加速&#xff0c;企业需要智能化系统整合供应商管理、采购流程、库存协同等模块&#xff0c;实现降本增效。SpringBoot作为轻量…

作者头像 李华
网站建设 2026/3/15 12:20:53

node.js基于vue的微服务分布式基于SpringCloud的体检预约系统_628df6ep

文章目录 系统架构概述功能模块设计技术亮点部署与扩展性 项目技术介绍开发工具和技术简介nodejs类核心代码部分展示结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 系统架构概述 该系统采用前后端分离架构&#xff0c;前端基于Vu…

作者头像 李华