Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int skill[13];
- int cowt[13];
- int n = 12;
- long long ans = INT32_MAX;
- void allocate(int pos, int team1, int team2, int team3, int team4){
- if(team1 > 3 || team2 > 3 || team3 > 3 || team4 > 3){
- cout << "team: "<< team1 << ", " << team2 << ", " << team3 << ", " << team4 << endl;
- return;
- }
- for(int i=1; i<=4; i++){
- cowt[pos] = i;
- // if(i ==1){
- // team1++;
- // }else if(i == 2){
- // team2++;
- // } else if(i == 3){
- // team3++;
- // }else{
- // team4++;
- // }
- if(pos<n){
- allocate(pos+1, team1+(i==1), team2+(i==2), team3+(i==3), team4+(i==4));
- }else{
- //allocated to every single value
- // string coc = "";
- // int team1 = 0, team2 = 0, team3 = 0, team4 = 0;
- // int x1 = 0, x2 = 0, x3 = 0, x4 = 0;
- // int n1, n2, n3, n4;
- // n1 = n2 = n3 = n4 = INT_MAX;
- long long sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0;
- for(int i=1; i<=n; i++){
- if(cowt[i] == 1){
- // team1++;
- sum1 += skill[i];
- // x1 = max(x1, skill[i]);
- // n1 = min(n1, skill[i]);
- }else if(cowt[i] == 2){
- // team2++;
- sum2 += skill[i];
- // x2 = max(x2, skill[i]);
- // n2 = min(n2, skill[i]);
- }else if(cowt[i] == 3){
- // team3++;
- sum3 += skill[i];
- // x3 = max(x3, skill[i]);
- // n3 = min(n3, skill[i]);
- }else{
- // team4++;
- sum4 += skill[i];
- // x4 = max(x4, skill[i]);
- // n4 = min(n4, skill[i]);
- }
- // cout << coc << cowt[i];
- // coc = ", ";
- }
- // cout << ", team1: " << team1 << ", team2: " << team2 << ", team3: " << team3 << ", team4: " << team4 << '\n';
- if(team1 == 3 && team2 == 3 && team3 == 3 && team4 == 3){
- long long diff = max(sum1, max(sum2, max(sum3, sum4))) - min(sum1, min(sum2, min(sum3, sum4)));
- ans = min(diff, ans);
- }
- }
- }
- }
- int main(){
- ios_base::sync_with_stdio(0), cin.tie(0);
- freopen("bteams.in", "r", stdin);
- // freopen("bteams.out", "w", stdout);
- for(int i=1; i<=n; i++){
- cin >> skill[i];
- }
- // for(int i=1; i<=12; i++){
- // cout << "i: " << i << ", skill[i]: " << skill[i] << '\n';
- // }
- allocate(1, 0, 0, 0, 0);
- cout << ans << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement