multiset(STL)的使用

// multiset的使用

/*

 输入格式

第行:一个正整数N(N,000),表示总共的天数。

2 行到第N+1 行:每一行描述一天中收到的帐单。先是一个非负整数M,表示当天

收到的账单数,后跟M个正整数(都小于,000,000,000),表示每张帐单的面额。

输入数据保证每天都可以支付两张帐单,并且帐单会在最后一天全部付清。

输出格式

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

票的面额。

 */

#include <iostream>

#include <set>

using namespace std;

 

multiset<int> bills;    //multiset 有序的set

 

int main()

{

    freopen("input.txt","r",stdin);

    int n,a,m;

    cin>>n;

    for(int i=0;i<n;i++)

    {

        cin>>m;

        for(int j=0;j<m;j++)

        {

            cin>>a;

            bills.insert(a);

        }

        cout<<*bills.begin()<<" "<<*--bills.end()<<endl;  //取出最小值(第一个元素)和最大值(最后又个元素) 

        bills.erase(bills.begin());

        bills.erase(--bills.end());  //bills.end()指向最后一个的下一个为空

    }

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值