#include <iostream> #include <cstring> #include <cmath> using namespace std; int main() { long long n,m; cin>>n>>m; long long a[100010]; int h=n; //jingen memset(a,0,sizeof a); while(h--) { int x,y; cin>>x>>y; int g=ceil((double)y/x); getchar(); for(int i=1;i<=x-1;i++) { int u; cin>>u; a[u]+=g; } } for(int i=1;i<=m;i++) cout<<a[i]<<" "; return 0; }
该题属于模拟,直接分别处理各组数据,用ceil函数向上取整(使用时需要将整型转换为小数),用数组存每个人需要支付的钱。参与链接