[C++][λ°±μ€|BOJ][μκ°λ³΅μ‘λ] 24265λ² - μκ³ λ¦¬μ¦ μμ (μκ³ λ¦¬μ¦μ μν μκ° 4)
λ¬Έμ
μ€λλ μμ€μ΄λ μκ³ λ¦¬μ¦μ μνμκ° μμ μ‘°κ΅λ₯Ό νκ³ μλ€. μλΉ κ° μμ ν λ΄μ©μ νμλ€μ΄ μ μ΄ν΄νλμ§ λ¬Έμ λ₯Ό ν΅ν΄μ νμΈν΄λ³΄μ.
μ λ ₯μ ν¬κΈ° nμ΄ μ£Όμ΄μ§λ©΄ MenOfPassion μκ³ λ¦¬μ¦ μν μκ°μ μμ μΆλ ₯κ³Ό κ°μ λ°©μμΌλ‘ μΆλ ₯ν΄λ³΄μ.
MenOfPassion μκ³ λ¦¬μ¦μ λ€μκ³Ό κ°λ€.
MenOfPassion(A[], n) { sum <- 0; for i <- 1 to n - 1 for j <- i + 1 to n sum <- sum + A[i] Γ A[j]; # μ½λ1 return sum; }
μ λ ₯
첫째 μ€μ μ λ ₯μ ν¬κΈ° n(1 β€ n β€ 500,000)μ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ μ½λ1 μ μν νμλ₯Ό μΆλ ₯νλ€.
λμ§Έ μ€μ μ½λ1μ μν νμλ₯Ό λ€νμμΌλ‘ λνλ΄μμ λ, μ΅κ³ μ°¨νμ μ°¨μλ₯Ό μΆλ ₯νλ€. λ¨, λ€νμμΌλ‘ λνλΌ μ μκ±°λ μ΅κ³ μ°¨νμ μ°¨μκ° 3λ³΄λ€ ν¬λ©΄ 4λ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯ 1
7
μμ μΆλ ₯ 1
21 2
μ½λ1 μ΄ 21ν μνλκ³ μκ³ λ¦¬μ¦μ μν μκ°μ΄ n2μ λΉλ‘νλ€.
μ½λ1 μ΄ 21ν μνλκ³ μκ³ λ¦¬μ¦μ μν μκ°μ΄ n2μ λΉλ‘νλ€.
μκ° λ³΅μ‘λλ O(n^2) 2μ°¨νμ΄λ€.
7μ μ λ ₯ν κ²½μ° iμ λ²μλ 1 ≤ i ≤ 6, jμ λ²μλ i+1 ≤ j ≤ 7μ΄λ©°,
i = 1μΌ λ, j = 2, 3, 4, 5, 6, 7
i = 2μΌ λ, j = 3, 4, 5, 6, 7
i = 3μΌ λ, j = 4, 5, 6, 7
i = 4μΌ λ, j = 5, 6, 7
i = 5μΌ λ, j = 6, 7
i = 6μΌ λ, j = 7
λ°λΌμ μ½λ 1μ 6+5+4+3+2+1μ μν νμλ₯Ό κ°μ§λ€.
μ΄λ μκ·Έλ§ κ³΅μμ μ¬μ©νμ¬ ν μ μλ€.
#include <iostream>
int main() {
long long n;
std::cin >> n;
std::cout << n * (n - 1) / 2 << std::endl << 2;
}
μ΄ λ¬Έμ λ nμ μλ£νμ μ£Όμνλ©΄ λλ€.