1. ๊ทธ๋ฆฌ๋””(Greedy)๋ž€ 'ํƒ์š•'์ด๋ž€ ์˜๋ฏธ

์ฆ‰, ๋งค ์ˆœ๊ฐ„ ๊ฐ€์žฅ ์ข‹์•„๋ณด์ด๋Š” ๊ฒƒ์„ ์„ ํƒํ•˜๋ฉฐ, ํ˜„์žฌ์˜ ์„ ํƒ์ด ๋‚˜์ค‘์— ๋ฏธ์น  ์˜ํ–ฅ์— ๋Œ€ํ•ด์„œ๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

[์˜ˆ์ œ 1] ๊ฑฐ์Šค๋ฆ„๋ˆ

 

5585๋ฒˆ: ๊ฑฐ์Šค๋ฆ„๋ˆ

ํƒ€๋กœ๋Š” ์ž์ฃผ JOI์žกํ™”์ ์—์„œ ๋ฌผ๊ฑด์„ ์‚ฐ๋‹ค. JOI์žกํ™”์ ์—๋Š” ์ž”๋ˆ์œผ๋กœ 500์—”, 100์—”, 50์—”, 10์—”, 5์—”, 1์—”์ด ์ถฉ๋ถ„ํžˆ ์žˆ๊ณ , ์–ธ์ œ๋‚˜ ๊ฑฐ์Šค๋ฆ„๋ˆ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ๊ฒŒ ์ž”๋ˆ์„ ์ค€๋‹ค. ํƒ€๋กœ๊ฐ€ JOI์žกํ™”์ ์—์„œ ๋ฌผ๊ฑด์„ ์‚ฌ

www.acmicpc.net

์ ‘๊ทผ ๋ฐฉํ–ฅ ๐Ÿ‘‰ ๊ฐ€์žฅ ํฐ ํ™”ํ ๋‹จ์œ„๋ถ€ํ„ฐ ๊ฑฐ์Šฌ๋Ÿฌ ์ฃผ๋Š” ๊ฒƒ

#include <iostream>
#include <vector>
using namespace std;

vector<int> v = {500, 100, 50, 10, 5, 1};

int solution(int n) {
    int cnt = 0;
    int remaining = 1000 - n;

    for (int i = 0; i < v.size() && remaining > 0; i++) {
        cnt += remaining / v[i];
        remaining %= v[i];
    }
    return cnt;
}

int main() {
    int n;
    cin >> n;
    cout << solution(n);
    return 0;
}

 

 

[์‹ค์ „ 1] ํฐ ์ˆ˜์˜ ๋ฒ•์น™

โœ”๏ธ ๋ฌธ์ œ
'ํฐ ์ˆ˜์˜ ๋ฒ•์น™'์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ†ต๊ณ„ ๋ถ„์•ผ์—์„œ ๋‹ค๋ฃจ์–ด์ง€๋Š” ๋‚ด์šฉ์ด์ง€๋งŒ ๋™๋นˆ์ด๋Š” ๋ณธ์ธ๋งŒ์˜ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๋™๋นˆ์ด์˜ ํฐ ์ˆ˜์˜ ๋ฒ•์น™์€ ๋‹ค์–‘ํ•œ ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ ์ฃผ์–ด์ง„ ์ˆ˜๋“ค์„ M๋ฒˆ ๋”ํ•˜์—ฌ ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋‹จ, ๋ฐฐ์—ด์˜ ํŠน์ •ํ•œ ์ธ๋ฑ์Šค(๋ฒˆํ˜ธ)์— ํ•ด๋‹นํ•˜๋Š” ์ˆ˜๊ฐ€ ์—ฐ์†ํ•ด์„œ K๋ฒˆ์„ ์ดˆ๊ณผํ•˜์—ฌ ๋”ํ•ด์งˆ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด ์ด ๋ฒ•์น™์˜ ํŠน์ง•์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ˆœ์„œ๋Œ€๋กœ 2, 4, 5, 4, 6์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ, M์ด 8์ด๊ณ  K๊ฐ€ 3์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž.
์ด ๊ฒฝ์šฐ ํŠน์ •ํ•œ ์ธ๋ฑ์Šค์˜ ์ˆ˜๊ฐ€ ์—ฐ์†ํ•ด์„œ ์„ธ ๋ฒˆ๊นŒ์ง€๋งŒ ๋”ํ•ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํฐ ์ˆ˜์˜ ๋ฒ•์น™์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ๋Š” 6 + 6 + 6 + 5 + 6 + 6 + 6 + 5์ธ 46์ด ๋œ๋‹ค. ๋‹จ, ์„œ๋กœ ๋‹ค๋ฅธ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ์ˆ˜๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋„ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ˆœ์„œ๋Œ€๋กœ 3, 4, 3, 4, 3์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ M์ด 7์ด๊ณ  K๊ฐ€ 2๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ด ๊ฒฝ์šฐ ๋‘ ๋ฒˆ์งธ ์›์†Œ์— ํ•ด๋‹นํ•˜๋Š” 4์™€ ๋„ค ๋ฒˆ์งธ ์›์†Œ์— ํ•ด๋‹นํ•˜๋Š” 4๋ฅผ ๋ฒˆ๊ฐˆ์•„ ๋‘ ๋ฒˆ์”ฉ ๋”ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ 4 + 4 + 4 + 4 + 4 + 4 + 4 ์ธ 28์ด ๋„์ถœ๋œ๋‹ค.

๋ฐฐ์—ด์˜ ํฌ๊ธฐ N, ์ˆซ์ž๊ฐ€ ๋”ํ•ด์ง€๋Š” ํšŸ์ˆ˜ M, ๊ทธ๋ฆฌ๊ณ  K๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋™๋นˆ์ด์˜ ํฐ ์ˆ˜์˜ ๋ฒ•์น™์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

 

โœ”๏ธ  ์ž…๋ ฅ

  • ์ฒซ์งธ ์ค„์— N(2 <= N <= 1000), M(1 <= M <= 10000), K(1 <= K <= 10000)์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ ๊ฐ ์ž์—ฐ์ˆ˜๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • ๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ž์—ฐ์ˆ˜๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ๋‹จ, ๊ฐ๊ฐ์˜ ์ž์—ฐ์ˆ˜๋Š” 1 ์ด์ƒ 10000 ์ดํ•˜์˜ ์ˆ˜๋กœ ์ฃผ์–ด์ง„๋‹ค.
  • ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” K๋Š” ํ•ญ์ƒ M๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.

โœ”๏ธ  ์ถœ๋ ฅ

  • ์ฒซ์งธ ์ค„์— ๋™๋นˆ์ด์˜ ํฐ์ˆ˜์˜ ๋ฒ•์น™์— ๋”ฐ๋ผ ๋”ํ•ด์ง„ ๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ ‘๊ทผ ๋ฐฉํ–ฅ ๐Ÿ‘‰ ์ •๋ ฌ + Cnt์™€ K ๋น„๊ต

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

vector<int> v;

int solution(int n, int m, int k) { //M๋ฒˆ ๋”ํ•˜๊ธฐ, K๋ฒˆ ์ดˆ๊ณผํ•ด ๋”ํ•ด์งˆ ์ˆ˜ ์—†์Œ
    int result = 0, cnt = 0;
    sort(v.begin(), v.end(), greater<>());

    for (int i = 0; i < m; i++) {
        if (cnt >= k) {
            result += v[1];
            cnt = 0;
        } else {
            result += v[0];
            cnt++;
        }
    }

    return result;
}

int main() {
    int n, m, k;
    cin >> n >> m >> k;

    v.resize(n);
    for (int i = 0; i < n; i++) {
        cin >> v[i];
    }

    cout << solution(n, m, k);
    return 0;
}

๐Ÿ“ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•
๋ฐ˜๋ณต๋˜๋Š” ์ˆ˜์—ด์— ๋Œ€ํ•ด์„œ ํŒŒ์•…ํ•˜๊ธฐ

 

์ฒซ ๋ฒˆ์งธ ์˜ˆ์—์„œ 6 + 6 + 6 + 5 ๊ฐ€ ๋ฐ˜๋ณต๋œ๋‹ค. ๋ฐ˜๋ณต๋˜๋Š” ์ˆ˜์—ด์˜ ๊ธธ์ด๋Š”? K+1์ธ 4์ธ ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ M์„ (K+1)๋กœ ๋‚˜๋ˆˆ ๋ชซ์ด ์ˆ˜์—ด์ด ๋ฐ˜๋ณต๋˜๋Š” ํšŸ์ˆ˜๊ฐ€ ๋œ๋‹ค.

BUT! M์ด (K+1)๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ๊ณ ๋ ค์• ํ–ํ•จ => ๋‚˜๋จธ์ง€ !

int(M/(K+1))*K + M%(K+1)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

vector<int> v;

int solution(int n, int m, int k) { //M๋ฒˆ ๋”ํ•˜๊ธฐ, K๋ฒˆ ์ดˆ๊ณผํ•ด ๋”ํ•ด์งˆ ์ˆ˜ ์—†์Œ
    int result = 0;
    sort(v.begin(), v.end(), greater<>());

    //๊ฐ€์žฅ ํฐ ์ˆ˜๊ฐ€ ๋”ํ•ด์ง€๋Š” ํšŸ์ˆ˜ ๊ณ„์‚ฐํ•˜๊ธฐ
    int cnt = (m / (k + 1)) * k;
    cnt += m % (k + 1);

    result += cnt * v[0];
    result += (m - cnt) * v[1];
    
    return result;
}

int main() {
    int n, m, k;
    cin >> n >> m >> k;

    v.resize(n);
    for (int i = 0; i < n; i++) {
        cin >> v[i];
    }

    cout << solution(n, m, k);
    return 0;
}

 

[์‹ค์ „ 2] ์ˆซ์ž ์นด๋“œ ๊ฒŒ์ž„

โœ”๏ธ ๋ฌธ์ œ
์ˆซ์ž ์นด๋“œ ๊ฒŒ์ž„์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆซ์ž ์นด๋“œ ์ค‘์—์„œ ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž๊ฐ€ ์“ฐ์ธ ์นด๋“œ ํ•œ ์žฅ์„ ๋ฝ‘๋Š” ๊ฒŒ์ž„์ด๋‹ค. ๋‹จ, ๊ฒŒ์ž„์˜ ๋ฃฐ์„ ์ง€ํ‚ค๋ฉฐ ์นด๋“œ๋ฅผ ๋ฝ‘์•„์•ผ ํ•˜๊ณ  ๋ฃฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์ˆซ์ž๊ฐ€ ์“ฐ์ธ ์นด๋“œ๋“ค์ด N x M ํ˜•ํƒœ๋กœ ๋†“์—ฌ ์žˆ๋‹ค. ์ด๋•Œ N์€ ํ–‰์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, M์€ ์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  2. ๋จผ์ € ๋ฝ‘๊ณ ์ž ํ•˜๋Š” ์นด๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ํ–‰์„ ์„ ํƒํ•œ๋‹ค.
  3. ๊ทธ๋‹ค์Œ ์„ ํƒ๋œ ํ–‰์— ํฌํ•จ๋œ ์นด๋“œ๋“ค ์ค‘ ๊ฐ€์žฅ ์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ์นด๋“œ๋ฅผ ๋ฝ‘์•„์•ผ ํ•œ๋‹ค.
  4. ๋”ฐ๋ผ์„œ ์ฒ˜์Œ์— ์นด๋“œ๋ฅผ ๊ณจ๋ผ๋‚ผ ํ–‰์„ ์„ ํƒํ•  ๋•Œ, ์ดํ›„์— ํ•ด๋‹น ํ–‰์—์„œ ๊ฐ€์žฅ ์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ์นด๋“œ๋ฅผ ๋ฝ‘์„ ๊ฒƒ์„ ๊ณ ๋ คํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž์˜ ์นด๋“œ๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋„๋ก ์ „๋žต์„ ์„ธ์›Œ์•ผ ํ•œ๋‹ค.

์นด๋“œ๋“ค์ด N x M ํ˜•ํƒœ๋กœ ๋†“์—ฌ ์žˆ์„ ๋•Œ, ๊ฒŒ์ž„์˜ ๋ฃฐ์— ๋งž๊ฒŒ ์นด๋“œ๋ฅผ ๋ฝ‘๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ์‹œ์˜ค.

 

โœ”๏ธ  ์ž…๋ ฅ

  • ์ฒซ์งธ ์ค„์— ์ˆซ์ž ์นด๋“œ๋“ค์ด ๋†“์ธ ํ–‰์˜ ๊ฐœ์ˆ˜ N๊ณผ ์—ด์˜ ๊ฐœ์ˆ˜ M์ด ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜์—ฌ ๊ฐ๊ฐ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 <= N, M <= 100)
  • ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ์นด๋“œ์— ์ ํžŒ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ˆซ์ž๋Š” 1 ์ด์ƒ 10,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

โœ”๏ธ  ์ถœ๋ ฅ

  • ์ฒซ์งธ ์ค„์— ๊ฒŒ์ž„์˜ ๋ฃฐ์— ๋งž๊ฒŒ ์„ ํƒํ•œ ์นด๋“œ์— ์ ํžŒ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์ ‘๊ทผ ๋ฐฉํ–ฅ ๐Ÿ‘‰  ์ •๋ ฌ ํ›„ ํ–‰์—์„œ ์ตœ์†Ÿ๊ฐ’์ด ์ œ์ผ ํฐ ์ˆ˜ ์ฐพ๊ธฐ

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

vector<vector<int>> v;

int main() {
    int n, m, result = 0;
    cin >> n >> m;
    v.resize(n);
    for (int i = 0; i < n; i++) {
        v[i].resize(m);
    }

    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin >> v[i][j];
        }
        sort(v[i].begin(), v[i].end());
    }
    for (int i = 0; i < n; i++) {
        if (result < v[i][0]) {
            result = v[i][0];
        }
    }

    cout << result;
    return 0;
}

[์‹ค์ „ 3] 1์ด ๋  ๋•Œ๊นŒ์ง€

โœ”๏ธ ๋ฌธ์ œ
์–ด๋– ํ•œ ์ˆ˜ N์ด 1์ด ๋  ๋•Œ ๊นŒ์ง€ ๋‹ค์Œ์˜ ๋‘ ๊ณผ์ • ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์„ ํƒํ•ด ์ˆ˜ํ–‰ํ•˜๋ ค ํ•จ

๋‹จ, ๋‘๋ฒˆ์งธ ์—ฐ์‚ฐ์€ N์ด K๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์งˆ ๋•Œ๋งŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Œ

  1. N์—์„œ 1์„ ๋บ€๋‹ค.
  2. N์„ K๋กœ ๋‚˜๋ˆˆ๋‹ค.

N์ด 1์ด ๋  ๋•Œ ๊นŒ์ง€ 1๋ฒˆ ํ˜น์€ 2๋ฒˆ์˜ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•˜๋Š” ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑ

 

โœ”๏ธ  ์ž…๋ ฅ

  • ์ฒซ์งธ ์ค„์— N(2<= N <= 100000)๊ณผ K(2 <= K <= 100000)๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ ๊ฐ๊ฐ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง
  • ์ด๋•Œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” N์€ ํ•ญ์ƒ K๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์Œ

โœ”๏ธ  ์ถœ๋ ฅ

  • ์ฒซ์งธ ์ค„์— N์ด 1์ด ๋  ๋•Œ๊นŒ์ง€ 1๋ฒˆ ํ˜น์€ 2๋ฒˆ์˜ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅ

์ ‘๊ทผ ๋ฐฉํ–ฅ ๐Ÿ‘‰  1 ์•„๋‹ˆ๋ฉด k๋‚˜๋ˆ„๋˜๊ฐ€ 1๋นผ๊ธฐ

#include <iostream>
using namespace std;

int main() {
    int n, k, cnt = 0;
    cin >> n >> k;

    while (n != 1) {
        if (n % k == 0) {
            n /= k;
        } else {
            n -= 1;
        }
        cnt++;
    }

    cout << cnt;

    return 0;
}

๐Ÿ“ N์ด 100์–ต ์ด์ƒ ํฐ ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ, ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋ ค๋ฉด

N์ด K์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋„๋ก ํšจ์œจ์ ์œผ๋กœ ํ•œ๋ฒˆ์— ๋นผ๋Š” ๋ฐฉ์‹

#include <iostream>
using namespace std;

int main() {
    int n, k, result = 0;
    cin >> n >> k;

    while (true) {
        //N์ด K๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆ˜๊ฐ€ ๋  ๋•Œ๊นŒ์ง€๋งŒ 1์”ฉ ๋นผ๊ธฐ
        int target = (n / k) * k; //n์ด k๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์„ ๋•Œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด k๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆ˜ ์ฐพ๊ธฐ
        result += n - target; //1์„ ๋นผ์•ผํ•˜๋Š” cnt ๋”ํ•˜๊ธฐ
        n = target;

        //cout << "n: " << n << ", result: " << result << endl;
        
        // N์ด K๋ณด๋‹ค ์ž‘์„ ๋•Œ (๋” ์ด์ƒ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์„ ๋•Œ) ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœ
        if (n < k)
            break;
        result += 1; //๋‚˜๋ˆŒ ๋•Œ
        n /= k;
    }
    //๋งˆ์ง€๋ง‰์œผ๋กœ ๋‚จ์€ ์ˆ˜์— ๋Œ€ํ•˜์—ฌ 1 ๋นผ๊ธฐ
    result += n - 1;
    cout << result;

    return 0;
}

+ Recent posts