186192025-10-29 11:26:46ubormaciBeszerzéscpp17Elfogadva 50/5043ms6452 KiB
#include <iostream>
#include <cstdint>
#include <algorithm>

#include <vector>
#include <set>
#include <map>
#include <queue>

using namespace std;

typedef int64_t ll;

void cerrr(vector<vector<pair<ll,ll>>> v) {

    for(const auto & j : v) {
        for(const auto & [x, y] : j) {
            cerr << "{" << x << "," << y << "},";
        }
        cerr << "\n";
    } 

}

void solve() {

    ll n, m, k;
    cin >> n >> m >> k;

    vector<vector<pair<ll,ll>>> foodtoing(n+1);

    vector<ll> ord(n+1, 0);
    vector<vector<pair<ll,ll>>> ingtofood(k+1);

    for(ll i = 1; i <= n; i++) {

        ll ingcount = 0;
        cin >> ingcount;
        foodtoing[i].resize(ingcount);

        //cerr << "\ni=" << i << "; ingcount=" << ingcount;

        for(ll j = 0; j < ingcount; j++) {
            ll ing, quantity;
            cin >> ing >> quantity;

            foodtoing[i][j] = {ing, quantity};
            ingtofood[ing].push_back({i, quantity});
        }
    }

    //cerr << "\nfoodtoing\n";
    //cerrr(foodtoing);
    //cerr << "\ningtofood\n";
    //cerrr(ingtofood);

    for(ll i = 1; i <= m; i++) {
        ll cnt;
        cin >> cnt;

        for(ll i = 0; i < cnt; i++) {
            ll food, howmany;
            cin >> food >> howmany;
            ord[food] += howmany;
        }
    }

    /*
    cerr << "\nord=";
    for(ll i = 1; i <= n; i++) {
        cerr << ord[i] << " ";
    }
    */

    vector<ll> res(k+1, 0);

    for(ll i = 1; i <= k; i++) {
        //cerr << "\ni=" << i;
        for(const auto & [f, q] : ingtofood[i]) {
            res[i] += ord[f] * q;
        }
    }

    //cerr << "\nres calced";

    for(ll i = 1; i <= k; i++) {
        cout << res[i] << " ";
    }

}

int main() {
    
    std::ios_base::sync_with_stdio(false);
    
    solve();
    
    return 0;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask27/7
2Elfogadva39ms6164 KiB
3Elfogadva39ms6228 KiB
4Elfogadva30ms6196 KiB
5Elfogadva30ms6204 KiB
6Elfogadva28ms6196 KiB
subtask312/12
7Elfogadva1ms316 KiB
8Elfogadva1ms508 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
14Elfogadva1ms500 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms508 KiB
subtask413/13
18Elfogadva39ms6164 KiB
19Elfogadva39ms6228 KiB
20Elfogadva30ms6196 KiB
21Elfogadva30ms6204 KiB
22Elfogadva28ms6196 KiB
23Elfogadva34ms6216 KiB
24Elfogadva34ms6308 KiB
25Elfogadva37ms6288 KiB
26Elfogadva35ms6384 KiB
27Elfogadva37ms6444 KiB
28Elfogadva34ms6284 KiB
29Elfogadva34ms6420 KiB
30Elfogadva37ms6452 KiB
31Elfogadva39ms6452 KiB
32Elfogadva41ms6452 KiB
33Elfogadva37ms6312 KiB
34Elfogadva35ms6328 KiB
35Elfogadva32ms6232 KiB
36Elfogadva39ms6272 KiB
subtask518/18
37Elfogadva1ms316 KiB
38Elfogadva39ms6164 KiB
39Elfogadva39ms6228 KiB
40Elfogadva30ms6196 KiB
41Elfogadva30ms6204 KiB
42Elfogadva28ms6196 KiB
43Elfogadva1ms508 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms500 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva1ms508 KiB
53Elfogadva34ms6216 KiB
54Elfogadva34ms6308 KiB
55Elfogadva37ms6288 KiB
56Elfogadva35ms6384 KiB
57Elfogadva37ms6444 KiB
58Elfogadva34ms6284 KiB
59Elfogadva34ms6420 KiB
60Elfogadva37ms6452 KiB
61Elfogadva39ms6452 KiB
62Elfogadva41ms6452 KiB
63Elfogadva37ms6312 KiB
64Elfogadva35ms6328 KiB
65Elfogadva32ms6232 KiB
66Elfogadva39ms6272 KiB
67Elfogadva39ms6120 KiB
68Elfogadva41ms6048 KiB
69Elfogadva39ms5988 KiB
70Elfogadva37ms6084 KiB
71Elfogadva32ms5932 KiB
72Elfogadva41ms5824 KiB
73Elfogadva43ms5788 KiB
74Elfogadva37ms5804 KiB
75Elfogadva37ms5940 KiB
76Elfogadva37ms5796 KiB
77Elfogadva37ms6288 KiB
78Elfogadva34ms5948 KiB