[AtCoder] AtCoder Beginner Contest 347 C. Ideal Holidays

TaeGN·2024년 10월 18일

AtCoder

목록 보기
10/55

문제풀이

  1. D를 (A + B)로 나눈 나머지를 구한다.
  2. 전체 구간의 길이가 A보다 작거나, 임의의 인접한 구간의 길이가 B보다 크면 가능하다.

주의사항


소요시간

10분


package AtCoder.ProblemList.Difficulty900.IdealHolidays

import java.util.TreeSet

fun main() {
    val (N, A, B) = readln().trim().split(" ").map(String::toInt)
    val D = readln().trim().split(" ").map(String::toInt)
    val set = TreeSet<Int>()
    for (d in D) {
        set.add(d % (A + B))
    }
    fun result(): String {
        if (set.last() - set.first() < A) return "Yes"
        for (a in set) {
            val b = set.higher(a) ?: break
            if (b - a > B) return "Yes"
        }
        return "No"
    }
    println(result())
}

https://github.com/TaeGN/Algorithm/blob/master/src/AtCoder/ProblemList/Difficulty800_1199/IdealHolidays/IdealHolidays.kt


문제링크

https://atcoder.jp/contests/abc347/tasks/abc347_c

0개의 댓글