Advertisement
ke_timofeeva7

напитОчки

Oct 17th, 2021
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.72 KB | None | 0 0
  1. /*
  2.  ________    _______   ______    _______   ________
  3. /_______/\ /_______/\ /_____/\ /_______/\ /_______/\
  4. \::: _  \ \\::: _  \ \\:::_ \ \\::: _  \ \\::: _  \ \
  5.  \::(_)  \ \\::(_)  \/_\:\ \ \ \\::(_)  \/_\::(_)  \ \
  6.   \::     \ \\::  _  \ \\:\ \ \ \\::  _  \ \\::     \ \  
  7.    \:.\ \  \ \\::(_)  \ \\:\_\ \ \\::(_)  \ \\:.\ \  \ \
  8.     \__\/\__\/ \_______\/ \_____\/ \_______\/ \__\/\__\/
  9.  
  10. */
  11.  
  12. #include <iostream>
  13. #include <string>
  14. #include <sstream>
  15. #include <vector>
  16. #include <cmath>
  17. #include <algorithm>
  18. #include <memory.h>
  19. #include <stdio.h>
  20. #include <stack>
  21. #include <deque>
  22. #include <queue>
  23. #include <set>
  24. #include <iterator>
  25. #include <map>
  26. #include <iomanip>
  27. #include <unordered_set>
  28. #define int long long
  29. #define pb push_back
  30. #define double long double
  31. #define endl "\n"
  32. #define un unsigned
  33. #define INF 1000000007
  34. #define pii pair<int, int>
  35. #define all(v) v.begin(), v.end()
  36. using namespace std;
  37.  
  38. const int N = 1000000;
  39. const int MOD = 1e9 + 7;
  40.  
  41. signed main()
  42. {
  43.     ios_base::sync_with_stdio();
  44.     cin.tie(0);
  45.     cout.tie(0);
  46.  
  47.     freopen("input.txt", "r", stdin);
  48.     freopen("output.txt", "w", stdout);
  49.  
  50.     int m;
  51.     cin >> m;
  52.  
  53.     map<string, int> mp;
  54.  
  55.     for (int i = 0; i < m; i++)
  56.     {
  57.         string s;
  58.         int a;
  59.         cin >> s >> a;
  60.  
  61.         mp[s] = a;
  62.     }
  63.  
  64.     int n;
  65.     cin >> n;
  66.  
  67.     map<string, map<string, int>> rec;
  68.  
  69.     for (int i = 0; i < n; i++)
  70.     {
  71.         string s;
  72.         cin >> s;
  73.  
  74.         int a;
  75.         cin >> a;
  76.  
  77.         for (int j = 0; j < a; j++)
  78.         {
  79.             string kok;
  80.             int lol;
  81.             cin >> kok >> lol;
  82.  
  83.             rec[s][kok] = lol;
  84.         }
  85.     }
  86.  
  87.     int k;
  88.     cin >> k;
  89.  
  90.     int ans = 0;
  91.  
  92.     for (auto ff  = rec.begin(); ff != rec.end(); ff++)
  93.     {
  94.         bool flag = 1;
  95.  
  96.         auto lool = (*ff).first;
  97.        
  98.         for (auto kek : rec[lool])
  99.         {
  100.             if (kek.second > mp[kek.first])
  101.             {
  102.                 flag = 0;
  103.             }
  104.         }
  105.  
  106.         ans += flag;
  107.     }
  108.  
  109.     cout << ans << endl;
  110.  
  111.     for (int i = 0; i < k; i++)
  112.     {
  113.         string s;
  114.         cin >> s;
  115.  
  116.         for (auto& j : rec[s])
  117.         {
  118.             auto lol = j.second;
  119.  
  120.             mp[j.first] -= lol;
  121.         }
  122.  
  123.         int ans = 0;
  124.  
  125.         for (auto ff = rec.begin(); ff != rec.end(); ff++)
  126.         {
  127.             bool flag = 1;
  128.  
  129.             auto lool = (*ff).first;
  130.  
  131.             for (auto kek : rec[lool])
  132.             {
  133.                 if (kek.second > mp[kek.first])
  134.                 {
  135.                     flag = 0;
  136.                 }
  137.             }
  138.  
  139.             ans += flag;
  140.         }
  141.  
  142.         cout << ans << endl;
  143.     }
  144.  
  145.     return 0;
  146. }
  147.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement