259522026-03-08 23:19:59kukkermanBeszerzéscpp17Accepted 50/5070ms6196 KiB
#include <iostream>
#include <vector>
#include <unordered_map>
#include <cstdint>

using Etel = std::unordered_map<int, int>;
using Etelek = std::vector<Etel>;

struct RendelesTetel {
    int etel;
    int adag;
};
using Rendeles = std::vector<RendelesTetel>;
using Rendelesek = std::vector<Rendeles>;

void beolvas(Etelek &etelek, Rendelesek &rendelesek, int &k, std::istream &be = std::cin) {
    int n, m;
    be >> n >> m >> k;

    etelek.resize(n);
    for (auto &e : etelek) {
        int db;
        be >> db;

        for (int i = 0; i < db; i++) {
            int a, x;
            be >> a >> x;
            e.emplace(a, x);
        }
    }

    rendelesek.resize(m);
    for (auto &r : rendelesek) {
        int db;
        be >> db;

        r.resize(db);
        for (auto &t: r) {
            be >> t.etel >> t.adag;
        }
    }
}

void feldolgoz(const Etelek &etelek, const Rendelesek &rendelesek, int k) {
    const int n = static_cast<int>(etelek.size());

    std::vector<uint64_t> etel_db(n + 1);
    for (const auto &r : rendelesek) {
        for (const auto &t : r) {
            etel_db[t.etel] += t.adag;
        }
    }

    std::vector<uint64_t> mennyisegek(k + 1);
    for (int i = 1; i <= n; i++) {
        const auto db = etel_db[i];
        for (const auto &e : etelek[i - 1]) {
            mennyisegek[e.first] += e.second * db;
        }
    }

    for (int i = 1; i <= k; i++) {
        std::cout << mennyisegek[i] << ' ';
    }
    std::cout << '\n';
}

int main() {
    Etelek etelek;
    Rendelesek rendelesek;
    int k;
    beolvas(etelek, rendelesek, k);
    feldolgoz(etelek, rendelesek, k);

    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask27/7
2Accepted46ms3660 KiB
3Accepted48ms3684 KiB
4Accepted48ms3736 KiB
5Accepted48ms4012 KiB
6Accepted48ms3876 KiB
subtask312/12
7Accepted1ms512 KiB
8Accepted2ms316 KiB
9Accepted2ms316 KiB
10Accepted2ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms408 KiB
14Accepted1ms316 KiB
15Accepted1ms316 KiB
16Accepted1ms316 KiB
17Accepted1ms324 KiB
subtask413/13
18Accepted46ms3660 KiB
19Accepted48ms3684 KiB
20Accepted48ms3736 KiB
21Accepted48ms4012 KiB
22Accepted48ms3876 KiB
23Accepted46ms3628 KiB
24Accepted48ms3700 KiB
25Accepted48ms3864 KiB
26Accepted48ms3992 KiB
27Accepted48ms3800 KiB
28Accepted54ms4364 KiB
29Accepted52ms4156 KiB
30Accepted50ms4144 KiB
31Accepted54ms4424 KiB
32Accepted57ms4676 KiB
33Accepted61ms5044 KiB
34Accepted56ms4528 KiB
35Accepted50ms4124 KiB
36Accepted54ms4416 KiB
subtask518/18
37Accepted1ms512 KiB
38Accepted46ms3660 KiB
39Accepted48ms3684 KiB
40Accepted48ms3736 KiB
41Accepted48ms4012 KiB
42Accepted48ms3876 KiB
43Accepted2ms316 KiB
44Accepted2ms316 KiB
45Accepted2ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms408 KiB
49Accepted1ms316 KiB
50Accepted1ms316 KiB
51Accepted1ms316 KiB
52Accepted1ms324 KiB
53Accepted46ms3628 KiB
54Accepted48ms3700 KiB
55Accepted48ms3864 KiB
56Accepted48ms3992 KiB
57Accepted48ms3800 KiB
58Accepted54ms4364 KiB
59Accepted52ms4156 KiB
60Accepted50ms4144 KiB
61Accepted54ms4424 KiB
62Accepted57ms4676 KiB
63Accepted61ms5044 KiB
64Accepted56ms4528 KiB
65Accepted50ms4124 KiB
66Accepted54ms4416 KiB
67Accepted65ms4404 KiB
68Accepted67ms4840 KiB
69Accepted61ms4148 KiB
70Accepted59ms4168 KiB
71Accepted52ms4148 KiB
72Accepted70ms4148 KiB
73Accepted70ms3892 KiB
74Accepted65ms3936 KiB
75Accepted52ms5108 KiB
76Accepted63ms3892 KiB
77Accepted64ms6196 KiB
78Accepted45ms4148 KiB