GIAO LƯU LẦN 3

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Bàn cờ kỳ lạ 20 (p) 1.0s 1G
2 Chia hết 25 (p) 1.0s 1G
3 Số bạn bè 25 (p) 1.0s 1G
4 Kế hoạch luyện tập 30 (p) 2.0s 1G

1. Bàn cờ kỳ lạ

Điểm: 20 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: BANCOXYZ.INP Output: BANCOXYZ.OUT

Trong thế giới ABC, có một bàn cờ vua XYZ rất kỳ lạ, thay vì có \(8\)x\(8\) ô như bình thường thì bàn cờ vua này chỉ có \(1\) hàng và \(n\) cột. Trong \(1\) đơn vị thời gian, quân cờ có thể dịch chuyển sang phải \(1\) ô hoặc sang trái \(1\) ô. Trò chơi kết thúc khi một trong hai quân cờ được đặt ở ô trung vị(là ô cách đều 2 ô \(1\)\(n\)) của bàn cờ và quân cờ tới vị trí trung vị đầu tiên sẽ thắng. Quân cờ của Alice đặt tại ô thứ \(A\) và Bob đặt tại ô \(B\).Alice sẽ đi lượt đầu tiên. Một ô có thể có nhiều quân cờ.

Yêu cầu

Hãy in ra người thắng cuộc.

Dữ liệu vào

Nhập từ file BANCOXYZ.INP

  • Dòng đầu tiên chứa số nguyên \(t\) - Là số lượng test case.
  • \(t\) dòng đầu tiên chứa \(3\) số nguyên dương \(n\) \(A\) \(B\) - Lần lượt là độ dài hàng của bàn cờ, vị trí của quân cờ Alice và Bob.

Dữ liệu ra

In ra file BANCOXYZ.OUT
- Với mỗi dòng, in ra người thắng("Alice"/"Bob") hoặc "Draw" nếu cả hai cùng thắng của từng test case tương ứng.

Ràng buộc

  • \(n\) luôn luôn là một số nguyên dương lẻ.
  • Subtask \(1(50\%)\): \(t \leq 100,n,A,B \leq 10^3\)
  • Subtask \(2(50\%)\): \(t \leq 10^4, n,A,B \leq 10^9\)
Sample
Input
3
5 2 4
5 1 2 
5 4 5
Output
Alice 
Bob
Alice
Giải thích

Tất cả vị trí trung vị của các test case là \(3\).
Test case 1, Alice ở vị trí \(2\) dịch chuyển sang \(3\) trong lượt đầu tiên - Kết thúc trận đấu, Alice thắng
Test case 2, Alice ở vị trí \(1\) dịch chuyển sang \(2\) trong lượt đầu tiên, lượt tiếp theo Bob di chuyển từ \(2\) đến \(3\) - Bob thắng
Test case 3, Alice ở vị trí \(4\) dịch chuyển sang trái tới ô \(3\) - Alice thắng

2. Chia hết

Điểm: 25 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: CHIAHET.INP Output: CHIAHET.OUT

Cho một số nguyên dương \(a\)\(n\) chữ số. Bạn hãy kiểm tra số đó có chia hết cho \(6\) không.

Dữ liệu vào

Nhập từ file CHIAHET.INP

  • Dòng đầu tiên là một số nguyên dương \(t(1 \leq t \leq 10^3)\) là số lượng test case
  • Một số nguyên dương \(a\)\(n(1 \leq n \leq 10^3)\) chữ số.

Dữ liệu ra

In ra file CHIAHET.OUT
- Mỗi dòng chứa một đáp án của một test case tương ứng. \(1\) nếu số đó chia hết và \(0\) nếu ngược lại.

Ràng buộc

  • Subtask \(1(15\%)\): \(n \leq 18\)
  • Subtask \(2(25\%)\): Tất cả \(a_i\) đều chia hết cho \(3\)
  • Subtask \(4(60\%)\): Không có ràng buộc gì thêm
Sample
Input
2
36
23
Output
1
0

3. Số bạn bè

Điểm: 25 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: FRIEND.INP Output: FRIEND.OUT

Bạn được cho dãy số nguyên dương \(a\)\(N\) phần tử. Một số được xem là có bạn bè nếu tồn tại \(i \neq j\)\(a_i=a_j\).

Yêu cầu

In ra số lượng phần tử có bạn bè.

Dữ liệu vào

Nhập từ file FRIEND.INP

  • Dòng đầu tiên chứa số nguyên dương \(N\).
  • Dòng thứ hai chứa \(N\) số nguyên dương là các phần tử của mảng \(a\).

Dữ liệu ra

In ra file FRIEND.OUT
Một dòng duy nhất chứa đáp án cần tìm

Subtask

  • Subtask \(1(50\%)\): \(N \leq 10^3, a_i \leq 10^9.\)
  • Subtask \(2(30\%)\): \(N \leq 10^6, a_i \leq 10^6.\)
  • Subtask \(3(20\%)\): \(N \leq 10^5, a_i \leq 10^9.\)
Sample
Input
6
1 2 2 4 1 1
Output
2
Giải thích

Số \(1\) và số \(2\) là những số có bạn bè

4. Kế hoạch luyện tập

Điểm: 30 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: PLAN.INP Output: PLAN.OUT

Hè này, Lam xây dựng cho mình kế hoạch luyện tập chủ động trên một hệ thống lập trình trực tuyến. Hệ thống cung cấp \(N\) bài toán, hai bài toán có nội dung liên quan được sắp xếp liền kề nhau. Các bài toán có độ khó lần lượt là \(a_1,a_2,a_3,...,a_n\). Lam đặt ra mục tiêu là kết thúc đợt nghỉ hè phải ôn luyện được một số nội dung nên phải làm được các bài toán liên quan và có tổng độ khó lớn hơn hoặc bằng \(S\).
Do trong hè còn có nhiều hoạt động khác, Lam cũng muốn mình phải làm ít nhất các bài toán mà vẫn đạt mục tiêu đặt ra

Yêu cầu

Hãy giúp Lam tính ra số lượng bài toán ít nhất liên tiếp nhau cần phải làm để đạt tổng độ khó tối thiểu là \(S\).

Dữ liệu vào

Nhập từ tệp PLAN.INP

  • Dòng \(1\) chứa hai số nguên \(N\)\(S(1 \leq N \leq 10^7,1 \leq S \leq 10^{16})\)
  • Dòng \(2\) chứa \(N\) số nguyên dương \(a_1,a_2,...,a_N(1 \leq a_i \leq 10^9)\)

Dữ liệu ra

Xuất ra tệp PLAN.OUT

  • Một số nguyên là số lượng bài toán Lam cần làm. Trường hợp không có phương án thỏa mãn, ghi ra số \(-1\).

Subtask

  • Subtask \(1(25\%)\): \(N<=100, S \leq 10^6, a_i \leq 10^4\)
  • Subtask \(2(25\%)\): \(N<=5000, S \leq 5.10^9, a_i \leq 10^6\)
  • Subtask \(3(25\%)\): \(N<=10^5, S \leq 10^{14}, a_i \leq 10^9\)
  • Subtask \(4(25\%)\) : Không có ràng buộc gì thêm.
Sample 1st
Input
10 18
5 1 3 9 10 7 4 9 2 8
Output
2
Sample 2rd
Input
5 27
2 3 5 1 9
Output
-1