小明的账单(信息学奥赛一本通-T1372)
生活随笔
收集整理的這篇文章主要介紹了
小明的账单(信息学奥赛一本通-T1372)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目描述】
小明在一次聚會中,不慎遺失了自己的錢包,在接下來的日子,面對小明的將是一系列的補卡手續(xù)和堆積的賬單… 在小明的百般懇求下,老板最終同意延緩賬單的支付時間??衫习逵痔岢?#xff0c;必須從目前還沒有支付的所有賬單中選出面額最大和最小的兩張,并把他們付清。還沒有支付的賬單會被保留到下一天。 請你幫他計算出支付的順序。
【輸入】
第1行:一個正整數(shù)N(N≤15,000),表示小明補辦銀聯(lián)卡總共的天數(shù)。
第2行到第N+1 行:每一行描述一天中收到的帳單。先是一個非負整數(shù)M≤100,表示當天收到的賬單數(shù),后跟M個正整數(shù)(都小于1,000,000,000),表示每張帳單的面額。
輸入數(shù)據(jù)保證每天都可以支付兩張帳單。
【輸出】
輸出共N 行,每行兩個用空格分隔的整數(shù),分別表示當天支付的面額最小和最大的支票的面額。
【輸入樣例】
4
3 3 6 5
2 8 2
3 7 1 7
0
【輸出樣例】
3 6
2 8
1 7
5 7
【源程序】
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<string> #include<cstdlib> #include<queue> #include<vector> #include<set> #define INF 0x3f3f3f3f #define PI acos(-1.0) #define N 10001 #define MOD 123 #define E 1e-6 using namespace std; multiset<int> st;//定義int類型的set int main() {int n;cin>>n;st.clear();for(int i=1;i<=n;i++){int m;cin>>m;for(int j=1;j<=m;j++){int a;cin>>a;st.insert(a);//插入元素}cout<<*st.begin()<<" ";//輸出最小元素st.erase(st.begin());//刪除set中最小元素cout<<*(--st.end())<<endl;//輸出最大元素st.erase(--st.end());//刪除set中最大元素}return 0; }?
總結
以上是生活随笔為你收集整理的小明的账单(信息学奥赛一本通-T1372)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 友好城市(信息学奥赛一本通-T1263)
- 下一篇: 光荣的梦想(信息学奥赛一本通-T1328