题解 | 小红结账
#include <cmath> #include <iostream> #include <vector> using namespace std; using ll = long long; int main() { int n, m; cin >> n >> m; ll k, ave, mbr;//ave为每餐平均消费,mbr为成员代号(1至k) double c;//注意C要用double类型 vector<ll> cost(m+1, 0);//存储每个成员的消费 for(int i = 0; i < n; i++){ cin >> k >> c; ave = ceil(c/k);//ceil函数用来向上取整 for(int j = 1; j < k; j++){ cin >> mbr; cost[mbr] += ave; } } for(int i = 1; i <= m; i++) cout << cost[i] << ' '; cout << endl; return 0; } // 64 位输出请用 printf("%lld")