250092026-02-17 12:25:47pocsaybBeszerzéscpp17Accepted 50/5028ms2924 KiB
#include <iostream>
#include <map>
#include <vector>

using namespace std;
using ll = long long;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	
	ll numOfFoods, numOfOrders, numOfIngredients;
	cin >> numOfFoods >> numOfOrders >> numOfIngredients;

	/*
	 Az ételek leírását az alábbi módon tároljuk:
	 vector<vector<pair<ll,ll>>> foods(numOfFoods)
	 food[i]:= az i-dik étel leírása egy vektor ami tartalmazza az össze össetevőt
	 foods[i][j] az i-dik étel j-dik összetevője
	 foods[i][j].first az i-dik étel j-dik összetevőjének indexe
	 foods[i][j].second az i-dik étel j-dik összetevőjének mennyisége
	*/
	
	//ÉTELEK BEOLVASÁSA:
	vector<vector<pair<ll,ll>>> foods(numOfFoods);
	ll numOfIng;//, ingredienetIndex, ingredientAmount;
	vector<pair<ll, ll>> food;
	pair<ll, ll> ingredient;
	for (ll i = 0; i < numOfFoods; i++) {
		cin >> numOfIng;
		for (ll j = 0; j < numOfIng; j++) {
			cin >> ingredient.first >> ingredient.second;
			ingredient.first -= 1;
			foods[i].push_back(ingredient);
		}
		
	}


	/*
	A szükséges élelniszerek tárolása:
	létrehozunk egy vectort:
	vector<ll> ingredients
	ingredients[i] az i-dik sorszámú alapanyagból ennyi fogyott a hétvégén.
	*/

	//"ingredients" LÉTREHOZÁSA:
	vector<ll> ingredients(numOfIngredients, 0);

	//RENDELSÉSEK BEOLVASÁSA
	vector<ll> foodsOrder(numOfFoods, 0);
	ll numOfFoo;
	ll indexOfFood, piecies;
	for (ll i = 0; i < numOfOrders; i++)
	{
		cin >> numOfFoo;
		for (ll j = 0; j < numOfFoo; j++) {
			cin >> indexOfFood >> piecies;
			foodsOrder[indexOfFood - 1] += piecies;
		}
	}

	//RENDELÉSEK FELDOLGOZÁSA
	for (ll i = 0; i < numOfFoods; i++) {
		for (const pair<ll, ll>& ingredient : foods[i]) {
			ingredients[ingredient.first] += (ingredient.second * foodsOrder[i]);
		}
	}

	//VÁLASZ:
	for (ll i = 0; i < numOfIngredients; i++) {
		cout << ingredients[i] << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask27/7
2Accepted20ms2508 KiB
3Accepted20ms2304 KiB
4Accepted20ms2476 KiB
5Accepted20ms2696 KiB
6Accepted20ms2476 KiB
subtask312/12
7Accepted2ms316 KiB
8Accepted2ms316 KiB
9Accepted2ms316 KiB
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
14Accepted1ms316 KiB
15Accepted1ms316 KiB
16Accepted1ms432 KiB
17Accepted1ms508 KiB
subtask413/13
18Accepted20ms2508 KiB
19Accepted20ms2304 KiB
20Accepted20ms2476 KiB
21Accepted20ms2696 KiB
22Accepted20ms2476 KiB
23Accepted20ms2472 KiB
24Accepted19ms2624 KiB
25Accepted20ms2656 KiB
26Accepted20ms2664 KiB
27Accepted19ms2476 KiB
28Accepted23ms2664 KiB
29Accepted21ms2732 KiB
30Accepted21ms2492 KiB
31Accepted23ms2732 KiB
32Accepted24ms2628 KiB
33Accepted25ms2688 KiB
34Accepted23ms2548 KiB
35Accepted20ms2468 KiB
36Accepted23ms2596 KiB
subtask518/18
37Accepted2ms316 KiB
38Accepted20ms2508 KiB
39Accepted20ms2304 KiB
40Accepted20ms2476 KiB
41Accepted20ms2696 KiB
42Accepted20ms2476 KiB
43Accepted2ms316 KiB
44Accepted2ms316 KiB
45Accepted1ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms316 KiB
49Accepted1ms316 KiB
50Accepted1ms316 KiB
51Accepted1ms432 KiB
52Accepted1ms508 KiB
53Accepted20ms2472 KiB
54Accepted19ms2624 KiB
55Accepted20ms2656 KiB
56Accepted20ms2664 KiB
57Accepted19ms2476 KiB
58Accepted23ms2664 KiB
59Accepted21ms2732 KiB
60Accepted21ms2492 KiB
61Accepted23ms2732 KiB
62Accepted24ms2628 KiB
63Accepted25ms2688 KiB
64Accepted23ms2548 KiB
65Accepted20ms2468 KiB
66Accepted23ms2596 KiB
67Accepted26ms2372 KiB
68Accepted27ms2600 KiB
69Accepted26ms2480 KiB
70Accepted24ms2352 KiB
71Accepted21ms2676 KiB
72Accepted27ms2700 KiB
73Accepted28ms2356 KiB
74Accepted27ms2868 KiB
75Accepted26ms2924 KiB
76Accepted25ms2908 KiB
77Accepted28ms2872 KiB
78Accepted21ms2652 KiB