【题解-信息学奥赛一本通】1372:小明的账单 题目1372小明的账单题目描述小明在一次聚会中不慎遗失了自己的钱包在接下来的日子面对小明的将是一系列的补卡手续和堆积的账单… 在小明的百般恳求下老板最终同意延缓账单的支付时间。可老板又提出必须从目前还没有支付的所有账单中选出面额最大和最小的两张并把他们付清。还没有支付的账单会被保留到下一天。 请你帮他计算出支付的顺序。输入第1行一个正整数N(N≤15,000)表示小明补办银联卡总共的天数。第2行到第N1 行每一行描述一天中收到的帐单。先是一个非负整数M≤100表示当天收到的账单数后跟M个正整数都小于1,000,000,000表示每张帐单的面额。输入数据保证每天都可以支付两张帐单。输出输出共N 行每行两个用空格分隔的整数分别表示当天支付的面额最小和最大的支票的面额。时空限制1s / 64MB样例输入4 3 3 6 5 2 8 2 3 7 1 7 0样例输出3 6 2 8 1 7 5 7代码#includebits/stdc.husingnamespacestd;constintN2e610;intn,m,x,num[N];priority_queueintheap_max;priority_queueint,vectorint,greaterintheap_min;intmain(){cinn;while(n--){cinm;while(m--){cinx;heap_min.push(x),heap_max.push(x);num[x];}while(!heap_min.empty()){intaheap_min.top();heap_min.pop();if(num[a]){couta ;num[a]--;break;}}while(!heap_max.empty()){intbheap_max.top();heap_max.pop();if(num[b]){coutbendl;num[b]--;break;}}}return0;}结果