680A - Bear and Five Cards - CodeForces Solution


constructive algorithms implementation *800

Please click on ads to support us..

C++ Code:

#include <iostream>
#include <algorithm>
using namespace std;

int arr[5], freq[500], mxSum_freq[1000];

int main()
{
    int mn = 0, mx = 0;
    int sum = 0, sum_freq = 0;

    for (int i = 0; i < 5; i++)
        cin >> arr[i];
    
    sort(arr, arr + 5);

    for (int i = 0; i < 5; i++)
        sum = sum + arr[i];

    mn = arr[0];
    for (int i = 1; i < 5; i++)
    {
        if (arr[i] <= mn)
            mn = arr[i];
    }

    mx = arr[0];
    for (int i = 1; i < 5; i++)
    {
        if (arr[i] >= mx)
            mx = arr[i];
    }

    for (int i = 0; i < 5; i++)
        freq[arr[i]]++;
    

    for (int i = mn; i <= mx; i++)
    {
        if (freq[i] == 2)
            mxSum_freq[i] = i * 2;

        else if (freq[i] == 3)
            mxSum_freq[i] = i * 3;

        else if (freq[i] > 3)
            mxSum_freq[i] = i * 3;

        else if (freq[i] < 2)
            mxSum_freq[i] = 0;
    }
    
    sum_freq = mxSum_freq[mn];
    for (int i = mn + 1; i <= mx; i++)
    {
        if (mxSum_freq[i] >= sum_freq)
            sum_freq = mxSum_freq[i];
    }
    
    cout << sum - sum_freq;


    return 0;
}


Comments

Submit
0 Comments
More Questions

180C - Letter
151A - Soft Drinking
1352A - Sum of Round Numbers
281A - Word Capitalization
1646A - Square Counting
266A - Stones on the Table
61A - Ultra-Fast Mathematician
148A - Insomnia cure
1650A - Deletions of Two Adjacent Letters
1512A - Spy Detected
282A - Bit++
69A - Young Physicist
1651A - Playoff
734A - Anton and Danik
1300B - Assigning to Classes
1647A - Madoka and Math Dad
710A - King Moves
1131A - Sea Battle
118A - String Task
236A - Boy or Girl
271A - Beautiful Year
520B - Two Buttons
231A - Team
479C - Exams
1030A - In Search of an Easy Problem
158A - Next Round
71A - Way Too Long Words
160A - Twins
1A - Theatre Square
1614B - Divan and a New Project