fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. #define debug(x) cout << '>' << #x << ':' << x << endl;
  6. #define loop0(i,n) for(int i=0; i<(n); i++)
  7. #define loop1(i,n) for(int i=1; i<=(n); i++)
  8. #define fori(a,b,i) for(int i=(a); i<=(b); i++)
  9. #define ford(a,b,i) for(int i=(a); i>=(b); i--)
  10. #define fast_io ios_base::sync_with_stdio(false), cin.tie(NULL)
  11. #define ign cin.ignore(numeric_limits<streamsize>::max(),'\n')
  12.  
  13. #define INF 0x3f3f3f3f
  14. #define PI 3.1415926535897932384626433832795
  15. #define MOD 1000000007
  16. #define endl "\n"
  17. #define fir first
  18. #define sec second
  19. #define pb push_back
  20. #define mp make_pair
  21.  
  22. typedef pair<int, int> PII;
  23. typedef vector<int> VI;
  24. typedef vector<string> VS;
  25. typedef vector<PII> VII;
  26. typedef vector<VI> VVI;
  27. typedef map<int,int> MII;
  28. typedef map<int,int> MCI;
  29. typedef unordered_map<int,int> UMII;
  30. typedef unordered_map<char,int> UMCI;
  31. typedef set<int> SI;
  32. typedef long long int llint;
  33.  
  34.  
  35. int main() {
  36. fast_io;
  37. llint n;
  38. cin >> n;
  39. vector<llint> v(n);
  40. unordered_map<llint, llint> m;
  41. for(auto &i : v) cin >> i;
  42. for (llint i = 0; i < n; i++) m[v[i]]++;
  43. llint q;
  44. cin >> q;
  45. llint sum = accumulate(v.begin(), v.end(), 0);
  46.  
  47. for(llint i = 0; i < q; i++){
  48. llint a,b;
  49. cin >> a >> b ;
  50.  
  51. sum = sum - (1LL*a*m[a]) +(1LL*b*m[a]);
  52.  
  53. m[b] += m[a];
  54.  
  55. m[a] = 0;
  56.  
  57. cout << sum << endl;
  58. }
  59.  
  60. }
  61.  
Success #stdin #stdout 0s 4480KB
stdin
4
1 2 3 4
3
1 2
3 4
2 4
stdout
11
12
16