南沙C++信奥老师解一本通题:1372:小明的账单

 【题目描述】

小明在一次聚会中,不慎遗失了自己的钱包,在接下来的日子,面对小明的将是一系列的补卡手续和堆积的账单… 在小明的百般恳求下,老板最终同意延缓账单的支付时间。可老板又提出,必须从目前还没有支付的所有账单中选出面额最大和最小的两张,并把他们付清。还没有支付的账单会被保留到下一天。 请你帮他计算出支付的顺序。

【输入】

第1行:一个正整数N(N≤15,000),表示小明补办银联卡总共的天数。

第2行到第N+1 行:每一行描述一天中收到的帐单。先是一个非负整数M≤100,表示当天收到的账单数,后跟M个正整数(都小于1,000,000,000),表示每张帐单的面额。

输入数据保证每天都可以支付两张帐单。

【输出】

输出共N 行,每行两个用空格分隔的整数,分别表示当天支付的面额最小和最大的支票的面额。

【输入样例】

4
3 3 6 5
2 8 2
3 7 1 7
0

【输出样例】

3 6
2 8
1 7

 

#include <bits/stdc++.h>
using namespace std;
struct Node {int id;int money;
};
bool v[1500001];// 标志是否支付 
struct cmpsmall//小顶堆比较仿函数 
{bool operator () (Node a, Node b){return a.money > b.money;}
};
struct cmpbig//大顶堆比较仿函数 
{bool operator () (Node a, Node b){return a.money < b.money;}
}; 
int main()
{priority_queue<Node, vector<Node>, cmpsmall> pqmin;//小顶堆priority_queue<Node, vector<Node>, cmpbig> pqmax;//大顶堆int n,num,id=0,bill;//账单 cin>>n;while(n--){cin>>num;for(int i=1;i<=num;i++){cin>>bill;id++;Node node1={id,bill};Node node2={id,bill};pqmin.push(node1);		pqmax.push(node2);		}while( v[pqmin.top().id ]==true)	pqmin.pop();cout<< pqmin.top().money <<" ";v[  pqmin.top().id ]=true;pqmin.pop();while( v[pqmax.top().id ]==true)	pqmax.pop();cout<< pqmax.top().money <<endl;v[  pqmax.top().id ]=true;pqmax.pop();}return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/801392.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.Net Core 页面Tag Helpers不提示,颜色也没有变化

没弄明白具体哪里出的问题,按老外的说法,这俩截图中的选项切换一下,并且重启VS2022,就好了https://stackoverflow.com/questions/75558595/intellisense-in-razor-cshtml-files-not-working-visual-studio-2022

解决方案 | 为什么搜狗输入法打不出符号了以前我打平方?输入平方即可出现 的候选词

按照: 更多设置---------》属性设置------->高级------------->符号大全开启。

查询 B 站注册时间

有时候想看看自己玩 B 站多少年了,想知道自己什么时候注册的。此外,据说注销 B 站账户的话也得提供详细注册日期。有时候想看看自己玩 B 站多少年了,想知道自己什么时候注册的。 此外,据说注销 B 站账户的话也得提供详细注册日期。 ‍ 通过创作中心查看 登录网页版 B 站,点…

第01章_Java语言概述

1 Java 语言概述 1.1 Java 概述是 SUN (Stanford University Network,斯坦福大学网络公司 ) 1995年 推出的一门高级编程语言。 是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序可以在 Web浏览器 中运行。这些Java程序被称为 Java小程序 (applet),内嵌…

Android-kotlin相关构建下载慢的问题处理建议

我们在导入其他的android项目获取需要手动改变android的依赖版本比如gradle版本,kotlin版本等等,点击同步构建时会发现需要很长的时间,有时还会失去连接,这是因为我们在国内的网络访问外网又没有梯子的情况下导致的 下载是解决这种情况的一些建议 1.使用梯子(有更好,没有…

一个.NET开源、快速、低延迟的异步套接字服务器和客户端库

前言 最近有不少小伙伴在问:.NET有什么值得推荐的网络通信框架?今天大姚给大家分享一个.NET开源、免费(MIT License)、快速、低延迟的异步套接字服务器和客户端库:NetCoreServer。 项目介绍 NetCoreServer是一个.NET开源、免费(MIT License)、快速、低延迟的异步套接字服…

VMware vCenter Server 7.0U3s 发布下载,新增功能概览

VMware vCenter Server 7.0U3s 发布下载,新增功能概览VMware vCenter Server 7.0U3s 下载 - 集中管理 vSphere 环境 Server Management Software | vCenter | 集中管理 vSphere 环境 请访问原文链接:https://sysin.org/blog/vmware-vcenter-7-u3/,查看最新版。原创作品,转载…

读构建可扩展分布式系统:方法与实践11强一致性

强一致性1. 强一致性 1.1. 最终一致数据库通过跨多台机器分区和复制数据集来获得可扩展性,其代价是要跨副本维持强数据一致性以及允许冲突写入1.1.1. 在更新数据对象后,不同的客户端可能会看到该对象的旧值或新值,直到所有副本都收敛到最新值1.2. 另一类分布式数据库提供一种…

提升软件测试效率与灵活性:探索Mock测试的重要性

Mock测试是测试过程中的一种方法,用于替代那些难以构造或获取的对象,通过创建虚拟对象来进行测试。所谓难以构造的对象如何理解呢? 举例来说,像HttpServletRequest这样的对象需要在具有servlet容器环境的情况下才能创建和获取。而难以获取的对象则是指需要准备相关环境才能…

《机器人SLAM导航核心技术与实战》第1季:第9章_视觉SLAM系统

《机器人SLAM导航核心技术与实战》第1季:第9章_视觉SLAM系统 视频讲解【第1季】9.第9章_视觉SLAM系统-视频讲解【第1季】9.1.第9章_视觉SLAM系统_ORB-SLAM2算法(上)-视频讲解【第1季】9.1.第9章_视觉SLAM系统_ORB-SLAM2算法(下)-视频讲解【第1季】9.2.第9章_视觉SLAM系统_…

Centos7.9 使用 Kubeadm 自动化部署 K8S 集群(一个脚本)

目录一、环境准备1、硬件准备(虚拟主机)2、操作系统版本3、硬件配置4、网络二、注意点1、主机命名格式2、网络插件 flannel 镜像拉取2.1、主机生成公私钥2.2、为啥有 Github 还用 Gitee2.3、将主机公钥添加到 Gitee2.3.1、复制主机上的公钥2.3.2、登录码云2.3.3、设置 -->…

Codeforces Round 974 (Div. 3)

拿小小号打的DIV3,中间看了会儿b站摸鱼,结果尼玛最后几点钟G没写完。。。A. Robin Helps 模拟题 int T, n, k;signed main(void) {for (read(T); T; T--) {read(n), read(k); int ans = 0; ll sum = 0;for (int i = 1; i <= n; i++) {int x; read(x);if (x >= k) sum +…