fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define ll long long
  6. #define ull unsigned ll
  7. #define ld long double
  8. typedef vector<int> vi;
  9. typedef multiset<int> mi;
  10. typedef multiset<ll> mll;
  11. typedef vector<ll> vll;
  12. typedef vector<bool> vb;
  13. typedef vector<string> vs;
  14. typedef set<ll> sll;
  15. typedef vector<vector<int>> _2vi;
  16. typedef vector<vector<ll>> _2vll;
  17. #define all(v) ((v).begin()), ((v).end())
  18. #define sz(v) ((ll)((v).size()))
  19.  
  20. #define vinp(v, n) \
  21.   for (ull i = 0; i < (n); i++) \
  22.   cin >> (v)[i]
  23. #define printv(v) \
  24.   for (auto i : (v)) \
  25.   cout << i << " "
  26. #define fr0(i, n) for (ull(i) = 0; (i) < (n); (i)++)
  27. #define fr1(i, n) for (ull(i) = 1; (i) < (n); (i)++)
  28. #define fr(i, x, n) for (ull(i) = (x); (i) < (n); (i)++)
  29. #define _CRT_SECURE_NO_WARNING
  30. const ll MOD = 1000000007;
  31.  
  32. void Bustany() {
  33. ios_base::sync_with_stdio(false);
  34. cin.tie(NULL);
  35. cout.tie(NULL);
  36. #ifndef ONLINE_JUDGE
  37. freopen("./in.txt", "r", stdin), freopen("./out.txt", "w", stdout);
  38. #endif
  39. }
  40.  
  41. const ll N = 1e5 + 5;
  42. ll n, k;
  43. vector<sll> adj(N);
  44. //_2vll adj(N,vll(N));
  45. vb vis;
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. void solve() {
  58. ll a, b, c;
  59. cin >> a >> b >> c;
  60. //25 10 5
  61. ll x = 0;
  62. ll sum = 0;
  63.  
  64. //25 + 10 + 5
  65. x = min({a, b, c});
  66. a -= x;
  67. b -= x;
  68. c -= x;
  69. sum += x;
  70.  
  71.  
  72. //25 + 5 + 5 + 5
  73. x = min({c, a / 3});
  74. c -= x;
  75. a -= (x * 3);
  76. sum += x;
  77.  
  78.  
  79. //10 + 10 + 10 + 10
  80. x = b / 4;
  81. b -= (x * 4);
  82. sum+=x;
  83.  
  84.  
  85. //10 + 10 + 10 + 5 + 5
  86. x = min({b / 3, a / 2});
  87. b -= (x * 3);
  88. a -= (x * 2);
  89. sum+=(x);
  90.  
  91.  
  92. //10 + 10 + 5 + 5 + 5 + 5
  93. x = min({b / 2, a / 4});
  94. b-=(x*2);a-=(x*4);
  95. sum+=x;
  96.  
  97.  
  98. //10 + 5 + 5 + 5 + 5 + 5 + 5
  99. x = min({b, a / 6});
  100. a-=(x*6);
  101. b-=x;
  102. sum+=x;
  103.  
  104. //5 + 5 + 5 + 5 + 5 + 5 + 5 + 5
  105. x = a / 8;
  106. sum+=x;
  107.  
  108.  
  109. cout << sum<<endl;
  110. }
  111.  
  112. int main() {
  113. Bustany();
  114. ll t = 1;
  115. cin >> t;
  116. while (t--) {
  117. solve();
  118. }
  119. }
Success #stdin #stdout 0.01s 7604KB
stdin
Standard input is empty
stdout
23224699543157