Advertisement
a_chn

Untitled

Sep 6th, 2024
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <array>
  5. #include <set>
  6. #include <map>
  7. #include <queue>
  8. #include <stack>
  9. #include <list>
  10. #include <chrono>
  11. #include <random>
  12. #include <cstdlib>
  13. #include <cmath>
  14. #include <ctime>
  15. #include <cstring>
  16. #include <iomanip>
  17. #include <bitset>
  18. #include <cassert>
  19. #include <unordered_map>
  20.  
  21. #define int long long
  22. #define all(x) (x).begin(),(x).end()
  23. #define pb push_back
  24.  
  25. using namespace std;
  26.  
  27. void setIO(string s) {
  28.     ios_base::sync_with_stdio(0);
  29.     cin.tie(0);
  30.     freopen((s + ".in").c_str(), "r", stdin);
  31.     freopen((s + ".out").c_str(), "w", stdout);
  32. }
  33.  
  34. vector<int> a;
  35. int ans; //min S - s
  36.  
  37. void recurse(int ind, vector<int>& team) {
  38.     //set ind to each team
  39.     if(ind == 12) {
  40.         int S = 0, s = 1e18;
  41.         vector<int> score(4);
  42.         for(int i = 0; i < 12; ++i) {
  43.             assert(team[i] != -1);
  44.             score[team[i]] += a[i];
  45.         }
  46.         for(int i = 0; i < 4; ++i) {
  47.             S = max(S, score[i]);
  48.             s = min(s, score[i]);
  49.         }
  50.         ans = min(ans, S - s);
  51.         return;
  52.     }
  53.     vector<int> amt(4);
  54.     for(int i = 0; i < ind; ++i) {
  55.         ++amt[team[i]];
  56.     }
  57.     for(int t = 0; t < 4; ++t) {
  58.         if(amt[t] == 3) continue;
  59.         team[ind] = t;
  60.         recurse(ind + 1, team);
  61.     }
  62. }
  63.  
  64. void solve() {
  65.     a.resize(12);
  66.     for(int i = 0; i < 12; ++i) {
  67.         cin >> a[i];
  68.     }
  69.     ans = 1e18;
  70.     vector<int> team(12);
  71.     recurse(0, team);
  72.     cout << ans << "\n";
  73. }
  74.  
  75. signed main(){
  76.     ios_base::sync_with_stdio(0);
  77.     cin.tie(0);
  78.     setIO("bteams");
  79.     solve();
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement