已结束 GESP挑战赛#32

A7387 | 保险金

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

阿北最近在负责保险金的发放,要求按顺序为每位客户的每笔事故发放对应数额的保险金。目前系统中有 $n$ 位客户的保险理赔记录,每条记录包含客户的编号 $id$、事故数量 $m$ 和每个事故的保险金金额 $a_i$。

阿北必须按受理顺序处理每位客户的理赔,当前客户的理赔未完全完成时,不能去处理其他客户的理赔。由于阿北目前的权限等级还不够高,每天能够发放的保险金总额为 $T$,他希望尽可能多地处理事故以免理赔需求堆积成山,所以对于同一客户的多个事故,阿北会按金额从小到大进行保险金发放。

请你帮他设计一个程序算一算,他每天应该发放哪些事故的保险金,以及当天发放的总保险金数额。

输入格式

第一行输入正整数 $T$,表示每天最多能发放的保险金总额。

第二行输入正整数 $n$,表示有 $n$ 位客户的保险理赔记录。

接下来 $n$ 行,按受理顺序,每行输入 $id$、$m$,分别代表当前客户的七位编号和事故数量。行内接下来输入 $m$ 个正整数 $a_1,a_2,\cdots,a_m$,分别代表当前客户每个事故的保险金金额。

输出格式

每行输出一位客户的客户编号,并从小到大输出他当天能够收到的每笔保险金金额,数之间用空格隔开。

当天未收到保险金的客户不需要输出。

最后一行输出两个整数,分别代表当天处理的事故总数和实际发放的保险金总额。

输入输出样例

输入 #1
100000
5
1000007 1 1000
0000007 5 1000 2000 50 10000 50000
7654321 3 100000 100 1000
1357912 2 100000 100000
2468030 5 100 100 100 100 100
输出 #1
1000007 1000
0000007 50 1000 2000 10000 50000
7654321 100 1000
8 65150
C++ 编辑器
输入
输出