250092026-02-17 12:25:47pocsaybBeszerzéscpp17Elfogadva 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] << " ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask27/7
2Elfogadva20ms2508 KiB
3Elfogadva20ms2304 KiB
4Elfogadva20ms2476 KiB
5Elfogadva20ms2696 KiB
6Elfogadva20ms2476 KiB
subtask312/12
7Elfogadva2ms316 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms432 KiB
17Elfogadva1ms508 KiB
subtask413/13
18Elfogadva20ms2508 KiB
19Elfogadva20ms2304 KiB
20Elfogadva20ms2476 KiB
21Elfogadva20ms2696 KiB
22Elfogadva20ms2476 KiB
23Elfogadva20ms2472 KiB
24Elfogadva19ms2624 KiB
25Elfogadva20ms2656 KiB
26Elfogadva20ms2664 KiB
27Elfogadva19ms2476 KiB
28Elfogadva23ms2664 KiB
29Elfogadva21ms2732 KiB
30Elfogadva21ms2492 KiB
31Elfogadva23ms2732 KiB
32Elfogadva24ms2628 KiB
33Elfogadva25ms2688 KiB
34Elfogadva23ms2548 KiB
35Elfogadva20ms2468 KiB
36Elfogadva23ms2596 KiB
subtask518/18
37Elfogadva2ms316 KiB
38Elfogadva20ms2508 KiB
39Elfogadva20ms2304 KiB
40Elfogadva20ms2476 KiB
41Elfogadva20ms2696 KiB
42Elfogadva20ms2476 KiB
43Elfogadva2ms316 KiB
44Elfogadva2ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms432 KiB
52Elfogadva1ms508 KiB
53Elfogadva20ms2472 KiB
54Elfogadva19ms2624 KiB
55Elfogadva20ms2656 KiB
56Elfogadva20ms2664 KiB
57Elfogadva19ms2476 KiB
58Elfogadva23ms2664 KiB
59Elfogadva21ms2732 KiB
60Elfogadva21ms2492 KiB
61Elfogadva23ms2732 KiB
62Elfogadva24ms2628 KiB
63Elfogadva25ms2688 KiB
64Elfogadva23ms2548 KiB
65Elfogadva20ms2468 KiB
66Elfogadva23ms2596 KiB
67Elfogadva26ms2372 KiB
68Elfogadva27ms2600 KiB
69Elfogadva26ms2480 KiB
70Elfogadva24ms2352 KiB
71Elfogadva21ms2676 KiB
72Elfogadva27ms2700 KiB
73Elfogadva28ms2356 KiB
74Elfogadva27ms2868 KiB
75Elfogadva26ms2924 KiB
76Elfogadva25ms2908 KiB
77Elfogadva28ms2872 KiB
78Elfogadva21ms2652 KiB