ํ์ด ๋ฐฉ๋ฒ
์ํ๋ ์ ๋ง๋์ ์์ ์ํ๋ ์ ๋ง๋์ ๊ธธ์ด๊ฐ ์ฃผ์ด์ง๋ค.
์ฒ์์ ๋ฌธ์ ์ดํด๊ฐ ์๋์ ์ ๊ทผ์ด ๋ง์ด ์ด๋ ค์ ๋๋ฐ, ์ดํดํ๊ณ ๋ณด๋ฉด ๋จ์ํ ์ํ ๋ฐ ๊ตฌํ ๋ฌธ์ ์ด๋ค.
์ฃผ์ด์ง ์์ ๋ฅผ ๋ค์ด ์ดํดํด๋ณด๋ฉด,
4
3 5 4 2
๋ก ์ฃผ์ด์ง๋๋ฐ,
์ฃผ์ด์ง ์ด ์ ๋ง๋ ๊ธธ์ด์ ํฉ์ ๊ตฌํ๋ฉด 3 + 5 + 4 + 2 = 14 ์ด๋ค.
14 -> 3(์ํ๋ ์ ๋ง๋ ๊ธธ์ด ์ฒซ๋ฒ์งธ ๊ฐ), 11( = 14 - 3 = ์ด ์ ๋ง๋ ๊ธธ์ด - ์ ๋ง๋ ์ฒซ๋ฒ์งธ ๊ธธ์ด ๊ฐ) : 3 * 11 = 33
11 - > 5(์ํ๋ ์ ๋ง๋ ๊ธธ์ด ๋๋ฒ์งธ ๊ฐ), 6( = 11 - 5 = ํ์ฌ ๋จ์ ์ ๋ง๋ ๊ธธ์ด - ์ ๋ง๋ ๋๋ฒ์งธ ๊ธธ์ด ๊ฐ) : 5 * 6 = 30
6 -> 4(์ํ๋ ์ ๋ง๋ ๊ธธ์ด ์ธ๋ฒ์งธ ๊ฐ), 2( = 6 - 4 = ํ์ฌ ๋จ์ ์ ๋ง๋ ๊ธธ์ด - ์ ๋ง๋ ์ธ๋ฒ์งธ ๊ธธ์ด ๊ฐ) : 4 * 2 = 8
2 -> 2(์ํ๋ ์ ๋ง๋ ๊ธธ์ด ๋ค๋ฒ์งธ ๊ฐ), 0( = 2 - 2 = ํ์ฌ ๋จ์ ์ ๋ง๋ ๊ธธ์ด - ์ ๋ง๋ ๋ค๋ฒ์งธ ๊ธธ์ด ๊ฐ) : 2 * 0 = 0
๋ต์, 33 + 30 + 8 + 0 = 71 ์ด๋ค.
์ฆ, ์ฃผ์ด์ง ๊ฐ ์ ๋ง๋ ๊ธธ์ด๋ฅผ ํฉํ ์ ๋ง๋ ๊ธธ์ด์ ์ด ํฉ์ ๊ตฌํ ํ, ์ ๋ง๋ ๊ธธ์ด๋ฅผ ํ๋์ฉ ๋นผ์ค๋ ๋์ค๋ ๊ทธ ๋ ๊ฐ์ ๊ฐ์ ๊ณฑํ์ฌ ๋ํ ํฉ์ด ๊ตฌํด์ผ ํ๋ ๊ฐ์ด์๋ค.
์ฝ๋
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
#include <cstring>
#include <stack>
#include <queue>
#include <limits.h>
#include <regex>
#include <sstream>
#include <tuple>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
// ๋ง๋ ์๋ผ์ n๊ฐ์ ์ ๋ง๋ ๋ง๋ค๊ธฐ
// x + y ๋ง๋ ๊ธธ์ด๋ฅผ x, y ๋๊ฐ๋ก ์๋ฅผ ๋, x*y ๋น์ฉ ํ์
// ์ต์ ๋น์ฉ์ผ๋ก n๊ฐ์ ์ ๋ง๋ ์ป๊ธฐa
int n; // ์ํ๋ ์ ๋ง๋ ์
cin >> n;
vector <long long> v; // ์ํ๋ ์ ๋ง๋ ๊ธธ์ด
long long sum = 0;
for(int i = 0; i < n; i++){
int a;
cin >> a;
sum += a;
v.push_back(a);
}
long long ans = 0;
int idx = 0;
for(int i = 0; i < v.size(); i++){
sum -= v[i];
ans += v[i] * sum;
}
cout << ans << "\n";
return 0;
}
'์๊ณ ๋ฆฌ์ฆ > [๋ฐฑ์ค]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_18258 : ํ 2 (C++) (0) | 2023.02.21 |
---|---|
BOJ_20114 : ๋ฏธ์ ๋ ธํธ (C++) (0) | 2023.02.17 |
BOJ_14929 : ๊ท์ฐฎ์ (SIB) (C++) (0) | 2023.02.14 |
BOJ_5671 : ํธํ ๋ฐฉ ๋ฒํธ (C++) (0) | 2023.02.13 |