1426E - Rock Paper Scissors - CodeForces Solution


brute force constructive algorithms flows greedy math *1800

Please click on ads to support us..

Python Code:

import sys

n=int(sys.stdin.readline())
a1,a2,a3=map(int, sys.stdin.readline().split())
b1,b2,b3=map(int, sys.stdin.readline().split())
win=min(a1,b2)+min(a2,b3)+min(a3,b1)


lose=n-min(a1,b1+b3)-min(a2,b2+b1)-min(a3,b3+b2)
print(lose,win)

C++ Code:

#include <iostream>
#include <vector>
#include <array>
#include <algorithm>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin>>n;
    vector<int> a(3),b(3);
    for(int i=0;i<3;i++)cin>>a[i];
    for(int i=0;i<3;i++)cin>>b[i];
    int mx = 0, mn = 1e9+7;
    for(int i=0;i<3;i++)mx+=min(a[i], b[(i+1)%3]);
    vector<array<int,2>> bf;
    for(int i=0;i<3;i++)
    {
        bf.push_back({i, i});
        bf.push_back({i, (i+2)%3});
    }
    sort(bf.begin(), bf.end());
    do
    {
        vector<int> ta=a, tb=b;
        int tmn=0;
        for(int i=0;i<bf.size();i++)
        {
            int sub = min(ta[bf[i][0]], tb[bf[i][1]]);
            ta[bf[i][0]]-=sub;
            tb[bf[i][1]]-=sub;
        }
        for(int i=0;i<3;i++)tmn+=min(ta[i], tb[(i+1)%3]);
        mn=min(mn, tmn);
    } while (next_permutation(bf.begin(), bf.end()));
    
    cout << mn << ' ' << mx << '\n';
    return 0;
}


Comments

Submit
0 Comments
More Questions

13. Roman to Integer
2. Add Two Numbers
515. Find Largest Value in Each Tree Row
345. Reverse Vowels of a String
628. Maximum Product of Three Numbers
1526A - Mean Inequality
1526B - I Hate 1111
1881. Maximum Value after Insertion
237. Delete Node in a Linked List
27. Remove Element
39. Combination Sum
378. Kth Smallest Element in a Sorted Matrix
162. Find Peak Element
1529A - Eshag Loves Big Arrays
19. Remove Nth Node From End of List
925. Long Pressed Name
1051. Height Checker
695. Max Area of Island
402. Remove K Digits
97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function
1920. Build Array from Permutation
494. Target Sum