๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐฑ์ค€/Silver

[BOJ] 19539 : ์‚ฌ๊ณผ๋‚˜๋ฌด

by Jaeguk 2022. 3. 22.
๋ฌธ์ œ ๋งํฌ

19539๋ฒˆ: ์‚ฌ๊ณผ๋‚˜๋ฌด (acmicpc.net)

 

19539๋ฒˆ: ์‚ฌ๊ณผ๋‚˜๋ฌด

์ฒซ ๋ฒˆ์งธ ์ค„์— ๋ชจ๋“  ๋‚˜๋ฌด๊ฐ€ ๊ฐŠ์ž๊ฐ€ ๋ฐ”๋ผ๋Š” ๋†’์ด๊ฐ€ ๋˜๋„๋ก ๋ฌผ๋ฟŒ๋ฆฌ๊ฐœ๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉด “YES”๋ฅผ, ์•„๋‹ˆ๋ฉด “NO”๋ฅผ ๋”ฐ์˜ดํ‘œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

๋‚œ์ด๋„๊ฐ€ ๊ณจ๋“œ์˜€์–ด๋„ ์ด์ƒํ•˜์ง€ ์•Š์•˜์„ ๋ฌธ์ œ.

ํ’€์ด

 ์ฒ˜์Œ์—๋Š” ์ง์ ‘ ๋ชจ๋“  ๋‚˜๋ฌด์— ๋ฌผ์„ ์ฃผ๋ฉด์„œ YES or NO๋ฅผ ํŒ๋‹จํ–ˆ๋‹ค. ๋‚˜๋ฌด์˜ ๋†’์ด๋ฅผ ์ €์žฅํ•œ ํ›„ ๋‚˜๋ฌด์˜ ๋†’์ด๋ฅผ 2๋˜๋Š” 1์„ ๊นŽ์œผ๋ฉด์„œ ๋ชจ๋‘ 0์ด ๋  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ฒดํฌํ•˜๋ ค ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‚˜๋ฌด๋ฅผ 3๋งŒํผ ํ‚ค์šฐ๋Š”๊ฒŒ ๋งž๋Š”์ง€ 2๋งŒํผ ํ‚ค์šฐ๋Š”๊ฒŒ ๋งž๋Š”์ง€ 1๋งŒํผ ํ‚ค์šฐ๋Š”๊ฒŒ ๋งž๋Š”์ง€ ํŒ๋‹จํ•˜๊ธฐ๊ฐ€ ์• ๋งคํ–ˆ๋‹ค.

1. ํ•˜๋ฃจ์— ๋ฌด์กฐ๊ฑด ํ•ฉ์ณ์„œ 3์˜ ๋†’์ด๋ฅผ ํ‚ค์›Œ์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋‚˜๋ฌด์˜ ๋†’์ด์˜ ํ•ฉ์ด 3์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๋ฌด์กฐ๊ฑด "NO"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

2. 2๋งŒํผ ํ‚ค์šฐ๋Š” ๋ฌผ๋ฟŒ๋ฆฌ๊ฐœ๋ฅผ i๋ฒˆ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•˜๋ฉด 1๋งŒํผ ํ‚ค์šฐ๋Š” ๋ฌผ๋ฟŒ๋ฆฌ๊ฐœ๋„ ๋‹น์—ฐํžˆ i๋ฒˆ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ๋‚˜๋ฌด์˜ ๋†’์ด๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ทธ ๋†’์ด๋ฅผ 2๋กœ ๋‚˜๋ˆ„์–ด์„œ 2์งœ๋ฆฌ ๋ฌผ๋ฟŒ๋ฆฌ๊ฐœ๋ฅผ ๋ช‡ ๋ฒˆ ๋ฟŒ๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€ ์„ผ๋‹ค.

2์งœ๋ฆฌ ๋ฌผ๋ฟŒ๋ฆฌ๊ฐœ๋ฅผ ๋ฟŒ๋ฆฌ๋Š” ํšŸ์ˆ˜๊ฐ€ (๋ชจ๋“  ๋‚˜๋ฌด ๋†’์ด์˜ ์ด ํ•ฉ) / 3 ๋ณด๋‹ค๋Š” ํฌ๊ฑฐ๋‚˜ ๊ฐ™์•„์•ผ ์›ํ•˜๋Š” ๋†’์ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <string.h>
#include <string>
#include <stack>
#include <vector>
#include <math.h>
#include <queue>
#include <climits>
#include <algorithm>
#include <iomanip>
#include <map>
#define mod 1000000007
using namespace std;
typedef long long ll;
typedef priority_queue<pair<pair<ll, int>int>vector<pair<pair<ll, int>int>>, greater<pair<pair<ll, int>int>>> Priority_queue;
const int INF = INT_MAX;
const int MAX_N = 100000 + 5;
vector<int> height;
int N;
 
int main(void) {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> N;
    int sum = 0;
    int cnt_2 = 0;
    for (int i = 0; i < N; i++) {
        int num; cin >> num;
        sum += num;
        cnt_2 += (num / 2);
    }
    if (sum % 3) {
        cout << "NO\n";
    }
    else {
        if (cnt_2 >= sum / 3)
            cout << "YES\n";
        else cout << "NO\n";
    }
    return 0;
}
 
cs

 

728x90

'๋ฐฑ์ค€ > Silver' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ] 1697 : ์ˆจ๋ฐ”๊ผญ์งˆ  (0) 2022.01.20
[BOJ] 6716 : Collecting Beepers  (0) 2022.01.19