Newer
Older
---
layout : wiki
title : BOJ 19539. 사과나무
summary :
date : 2021-04-14 09:10:10 +0900
updated : 2021-12-15 18:27:20 +0900
tag :
public : true
published : true
parent : [[boj]]
latex : false
---
* TOC
{:toc}
- 우선 높이의 합이 3으로 나누어져야 한다
- 높이 합을 3으로 나눈 몫은 물을 붓는 총 횟수를 의미한다.
- 1은 2를 커버할 수 있기 때문에 2의 적용 가능 횟수가 관건이다.
- 2로 나눈 몫을 모두 더한 값이 물을 붓는 총 횟수보다 작으면 남은 높이를 1로 커버할 수 없게 된다.
import java.util.*;
import java.io.*;
public class Main {
static int N;
static int[] h;
public static void main(String[] args) throws Exception{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(in.readLine());
h = new int[N];
StringTokenizer st = new StringTokenizer(in.readLine());
long sum = 0;
long cnt2 = 0;
for (int i = 0; i < N; i++) {
h[i] = Integer.parseInt(st.nextToken());
sum += h[i];
cnt2 += h[i] / 2;
}
boolean possible = true;
if (sum % 3 == 0) {
long cnt3 = sum / 3;
if (cnt3 > cnt2) possible = false;
} else possible = false;
System.out.println(possible? "YES" : "NO");
}
}
```