【題目描述】
小明在一次聚會中,不慎遺失了自己的錢包,在接下來的日子,面對小明的將是一系列的補卡手續和堆積的賬單… 在小明的百般懇求下,老闆最終同意延緩賬單的支付時間。可老闆又提出,必須從目前還沒有支付的所有賬單中選出面額最大和最小的兩張,並把他們付清。還沒有支付的賬單會被保留到下一天。 請你幫他計算出支付的順序。
【輸入】
第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 5 7
#include <bits/stdc++.h> using namespace std; int main() { // freopen("1.txt", "r", stdin); int n, m, t; scanf("%d", &n); multiset<int> a; for (int i = 0; i < n; i++) { scanf("%d", &m); for (int i = 0; i < m; i++) { scanf("%d", &t); a.insert(t); } printf("%d %d\n", *(a.begin()), *(--a.end())); a.erase(a.begin()); a.erase(--a.end()); } return 0; }