πŸ₯‚ C (++)

[C++][λ°±μ€€|BOJ][μ‹œκ°„λ³΅μž‘λ„] 24267번 - μ•Œκ³ λ¦¬μ¦˜ μˆ˜μ—…(μ•Œκ³ λ¦¬μ¦˜μ˜ μˆ˜ν–‰ μ‹œκ°„ 6)

re.aom 2024. 2. 7. 01:51

문제

μ˜€λŠ˜λ„ μ„œμ€€μ΄λŠ” μ•Œκ³ λ¦¬μ¦˜μ˜ μˆ˜ν–‰μ‹œκ°„ μˆ˜μ—… 쑰ꡐλ₯Ό ν•˜κ³  μžˆλ‹€. μ•„λΉ κ°€ μˆ˜μ—…ν•œ λ‚΄μš©μ„ 학생듀이 잘 μ΄ν•΄ν–ˆλŠ”μ§€ 문제λ₯Ό ν†΅ν•΄μ„œ ν™•μΈν•΄λ³΄μž.

μž…λ ₯의 크기 n이 μ£Όμ–΄μ§€λ©΄ MenOfPassion μ•Œκ³ λ¦¬μ¦˜ μˆ˜ν–‰ μ‹œκ°„μ„ 예제 좜λ ₯κ³Ό 같은 λ°©μ‹μœΌλ‘œ 좜λ ₯ν•΄λ³΄μž.

MenOfPassion μ•Œκ³ λ¦¬μ¦˜μ€ λ‹€μŒκ³Ό κ°™λ‹€.

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;
}

μž…λ ₯

첫째 쀄에 μž…λ ₯의 크기 n(1 ≀ n ≀ 500,000)이 μ£Όμ–΄μ§„λ‹€.

좜λ ₯

첫째 쀄에 μ½”λ“œ1 의 μˆ˜ν–‰ 횟수λ₯Ό 좜λ ₯ν•œλ‹€.

λ‘˜μ§Έ 쀄에 μ½”λ“œ1의 μˆ˜ν–‰ 횟수λ₯Ό λ‹€ν•­μ‹μœΌλ‘œ λ‚˜νƒ€λ‚΄μ—ˆμ„ λ•Œ, μ΅œκ³ μ°¨ν•­μ˜ 차수λ₯Ό 좜λ ₯ν•œλ‹€. 단, λ‹€ν•­μ‹μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μ—†κ±°λ‚˜ μ΅œκ³ μ°¨ν•­μ˜ μ°¨μˆ˜κ°€ 3보닀 크면 4λ₯Ό 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯ 1

7

예제 좜λ ₯ 1

35
3

μ½”λ“œ1 이 35회 μˆ˜ν–‰λ˜κ³  μ•Œκ³ λ¦¬μ¦˜μ˜ μˆ˜ν–‰ μ‹œκ°„μ΄ n3에 λΉ„λ‘€ν•œλ‹€.

 

μ½”λ“œ1 이 35회 μˆ˜ν–‰λ˜κ³  μ•Œκ³ λ¦¬μ¦˜μ˜ μˆ˜ν–‰ μ‹œκ°„μ΄ n3에 λΉ„λ‘€ν•œλ‹€.

 


 

μ‹œκ°„ λ³΅μž‘λ„λŠ” O(n^3) 3μ°¨ν˜•μ΄λ‹€.

​

 

 

 

#include <iostream>

int main() {
    long long n;
    std::cin >> n;
    std::cout << n * (n-1) * (n-2) / 6 << std::endl << 3;
}