백준(C, C++)/골드

백준 1041: 주사위

치킨먹고싶어요 2022. 7. 11. 13:07

https://www.acmicpc.net/problem/1041

 

1041번: 주사위

첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수

www.acmicpc.net

코드
#include <iostream>
#include <algorithm>
#define ll unsigned long long
using namespace std;
int N;
ll a, b, c, d, e, f;
int main() {
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    cin >> N;
    cin >> a >> b >> c >> d >> e >> f;
    ll min1 = min({a, b, c, d, e, f});
    ll min2 = min({a + b, a + c, a + d, a + e, b + c, b + d, b + f, c + e, c + f, d + e, d + f, e + f});
    ll min3 = min({a + b + c, a + b + d, a + c + e, a + d + e, b + c + f, b + d + f, c + e + f, d + e + f});
    if (N == 1cout << a + b + c + d + e + f - max({a, b, c, d, e, f});
    else cout << min3 * 4 + min2 * (N - 1* 4 + min2 * (N - 2* 4 + min1 * (N - 2* (N - 1* 4 + min1 * (N - 2* (N - 2);
    return 0;
}
 
 
 

 

 

모든 경우의 수를 구하면 되는 문제입니다.