Cắt đa giác


Submit solution

Points: 1.5
Time limit: 1.0s
Memory limit: 98M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Chú ý: Vấn đề này chỉ cho điểm khi tất cả bộ test đã AC.

Cho một mảnh giấy hình đa giác lồi có \(n\) cạnh, bạn có thể cắt theo các đường chéo của đa giác để thu được các đa giác mới.

Câu hỏi đặt ra là liệu có thể cắt thành \(k\) đa giác lồi có số lượng cạnh lần lượt là \(a_1\), \(a_2\), ..., \(a_k\) hay không.

Đầu vào

Dòng đầu tiên chứa số nguyên \(n\) \((1 \le n \le 10^9)\), số lượng cạnh của mảnh giấy ban đầu.

Dòng thứ hai chứa số nguyên \(k\) \((1 \le k \le n)\), số mảnh giấy cần cắt ra.

Dòng cuối cùng chứa \(k\) số nguyên \(a_i\) \((3 \le a_i \le 10^9)\), số lượng cạnh của từng mảnh đa giác.

Tổng các số \(a\) nhập vào không vượt quá \(10^9\).

Đầu ra

Nếu có thể cắt mảnh giấy thành \(k\) mảnh đa giác lồi thỏa mãn đề bài thì xuất ra "YES", nếu không xuất ra "NO".

Ví dụ

Đầu vào 1:

4
2
3 3

Đầu ra 1:

YES

Đầu vào 2:

7
3
3 3 3

Đầu ra 2:

NO
QDUY

Comments

There are no comments at the moment.