Hướng dẫn giải của HSG12 Tây Ninh 2026 - Vòng 1 - Bài 1a
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người làm lời giải.
Nộp code mẫu trước khi tự giải được bài tập là một hành vi có thể bị ban.
Tác giả:
Ta có một chiến thuật tham lam như sau:
- Ta sẽ lấy tất cả đống bi đều là ~20~, giả sử có ~x~ đống.
- Sau đó ta sẽ kiểm tra phần dư như sau: Mỗi đống ta có thể thêm tối đa ~9~ viên bi (từ ~20~ đến ~29~) đều thỏa, do đó nếu phần dư lớn hơn ~9*x~, ta sẽ in ~-1~, ngược lại thì in ~x~.
Độ phức tạp: ~O(1)~.
Code tham khảo:
void solve() {
int n;
cin >> n;
int x = n / 20;
n %= 20;
cout << (n <= 9 * x ? x : -1);
}
Bình luận