알고리즘

[알고리즘] 백준 2484 - 주사위 네개 (C++)

blueberrysoda 2024. 12. 4. 21:32

[문제 링크] : https://www.acmicpc.net/problem/2484

#include <iostream>
using namespace std;

int Arr[7];

int main(){
    int N, Ans = 0;

    cin >> N;
    while(N--){
        int inp;
        
        for(int i=0; i<7; i++){
            Arr[i] = 0;
        }

        for(int i=0; i<4; i++){
            cin >> inp;
            Arr[inp]++;
        }

        for(int j=6; j>0; j--){
            if(Arr[j] == 4){
                Ans = Ans < 50000 + 5000 * j ? 50000 + 5000 * j : Ans;
                break;
            }
            else if(Arr[j] == 3){
                Ans = Ans < 10000 + 1000 * j ? 10000 + 1000 * j : Ans;
                break;
            }
            else if(Arr[j] == 2){
                for(int k=j-1; k>0; k--){
                    if(Arr[k] == 2){
                        Ans = Ans < 2000 + j * 500 + k * 500 ? 2000 + j * 500 + k * 500 : Ans;
                        break;
                    }
                    else{
                        Ans = Ans < 1000 + 100 * j ? 1000 + 100 * j : Ans;
                    }
                }
                break;
            }
            else if(Arr[j] == 1){
                Ans = Ans < 100 * j ? 100 * j : Ans;
            }
        }
    }
    cout << Ans << "\n";
    return 0;
}