259522026-03-08 23:19:59kukkermanBeszerzéscpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask27/7
2Elfogadva46ms3660 KiB
3Elfogadva48ms3684 KiB
4Elfogadva48ms3736 KiB
5Elfogadva48ms4012 KiB
6Elfogadva48ms3876 KiB
subtask312/12
7Elfogadva1ms512 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms408 KiB
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms324 KiB
subtask413/13
18Elfogadva46ms3660 KiB
19Elfogadva48ms3684 KiB
20Elfogadva48ms3736 KiB
21Elfogadva48ms4012 KiB
22Elfogadva48ms3876 KiB
23Elfogadva46ms3628 KiB
24Elfogadva48ms3700 KiB
25Elfogadva48ms3864 KiB
26Elfogadva48ms3992 KiB
27Elfogadva48ms3800 KiB
28Elfogadva54ms4364 KiB
29Elfogadva52ms4156 KiB
30Elfogadva50ms4144 KiB
31Elfogadva54ms4424 KiB
32Elfogadva57ms4676 KiB
33Elfogadva61ms5044 KiB
34Elfogadva56ms4528 KiB
35Elfogadva50ms4124 KiB
36Elfogadva54ms4416 KiB
subtask518/18
37Elfogadva1ms512 KiB
38Elfogadva46ms3660 KiB
39Elfogadva48ms3684 KiB
40Elfogadva48ms3736 KiB
41Elfogadva48ms4012 KiB
42Elfogadva48ms3876 KiB
43Elfogadva2ms316 KiB
44Elfogadva2ms316 KiB
45Elfogadva2ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms408 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva1ms324 KiB
53Elfogadva46ms3628 KiB
54Elfogadva48ms3700 KiB
55Elfogadva48ms3864 KiB
56Elfogadva48ms3992 KiB
57Elfogadva48ms3800 KiB
58Elfogadva54ms4364 KiB
59Elfogadva52ms4156 KiB
60Elfogadva50ms4144 KiB
61Elfogadva54ms4424 KiB
62Elfogadva57ms4676 KiB
63Elfogadva61ms5044 KiB
64Elfogadva56ms4528 KiB
65Elfogadva50ms4124 KiB
66Elfogadva54ms4416 KiB
67Elfogadva65ms4404 KiB
68Elfogadva67ms4840 KiB
69Elfogadva61ms4148 KiB
70Elfogadva59ms4168 KiB
71Elfogadva52ms4148 KiB
72Elfogadva70ms4148 KiB
73Elfogadva70ms3892 KiB
74Elfogadva65ms3936 KiB
75Elfogadva52ms5108 KiB
76Elfogadva63ms3892 KiB
77Elfogadva64ms6196 KiB
78Elfogadva45ms4148 KiB