매일 BOJ

(매일 BOJ) C++ 24267번 알고리즘 수업 - 알고리즘의 수행 시간 6

norepinephrine 2025. 7. 21. 16:55

이번 문제는 알고리즘 수업 - 알고리즘의 수행 시간 6 문제이다.

접근법

MenOfPassion(A[], n) {
    sum <- 0;
    for i <- 1 to n - 2
        for j <- i + 1 to n - 1
            for k <- j + 1 to n
                sum <- sum + A[i] × A[j] × A[k]; # 코드1
    return sum;
}

 

예시에 있는 7을 MenOfPassion 함수에 대입하면 아래와 같이 인덱스가 진행되는 것을 볼 수 있다.

이는 시그마 공식을 사용하면 (N-2) (N-1)N / 6 번 연산됨을 구할 수 있다.

 

작성코드

# include <bits/stdc++.h>
using namespace std;


int main(void){
    ios::sync_with_stdio(0); cin.tie(0);
    vector<int> v;
    for (int i = 0; i < 3; i++){
        int n;
        cin >> n;
        v.push_back(n);
    }

    sort(v.begin(),v.end());
    int sum = v[0] + v[1];
    if (sum <= v[2]){
        v[2] = sum - 1;
    }
    int length = v[2] + sum;
    cout << length;
}