Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

Dễ

Câu 4 (4.0 điểm). Chia quà

100 điểm 100% AC 1 đã giải

root

Bố của hai anh em Bắc và Giang vừa có một chuyến đi công tác về. Ông đã chuẩn bị \(N\) gói quà,
các gói quà được đánh số từ 1 đến \(N\), gói quà thứ \(i\) có giá trị là \(a_i\).

Ông sẽ chia hết số quà cho hai anh em Bắc và Giang.
Ông chia quà thành hai phần với tổng giá trị của từng phần là \(S_1\) và \(S_2\), độ chênh lệch giữa
hai phần quà là \(|S_1 - S_2|\).

Trước khi chia quà, ông đã ghi lần lượt các số 1 và 2 trên các gói quà.
Nếu gói quà ghi số 1 thì chia cho Bắc, số 2 thì chia cho Giang.

Ông muốn thay đổi cách chia sao cho độ chênh lệch là nhỏ nhất.

Input

Vào từ tệp văn bản CHIAQUA.INP gồm:

  • Dòng 1 ghi số nguyên dương \(N\);
  • Dòng 2 ghi \(N\) số \(a_1, a_2, \ldots, a_N\) \((1 \le a_i \le 10000)\);
  • Dòng 3 ghi dãy gồm \(N\) số (1 hoặc 2) tương ứng với cách chia ban đầu.

Output

Ghi ra tệp văn bản CHIAQUA.OUT gồm:

  • Dòng 1 ghi độ chênh lệch của cách chia ban đầu;
  • Dòng 2 ghi độ chênh lệch nhỏ nhất tìm được.

Example

Test 1

Input
5
10 15 14 8 10
1 2 1 2 1
Output
11
1

Scoring

  • Subtask 1: Có 30 test (75%) tương ứng 3,0 điểm với \(1 < N \le 20\);
  • Subtask 2: Có 10 test (25%) tương ứng 1,0 điểm với \(20 < N \le 100\).
Dễ

Câu 1 (6.0 điểm). Phân số

100 điểm 100% AC 1 đã giải

root

Cho 4 số nguyên dương \(a, b, c\) và \(d\), ta gọi phân số của chúng là tổng:
$
\frac{a}{b} + \frac{c}{d}
$

Yêu cầu sắp xếp 4 số đã cho theo thứ tự sao cho phân số của chúng càng nhỏ càng tốt.

Input

Vào từ tệp văn bản frac.inp gồm một dòng chứa 4 số nguyên \(a, b, c\) và \(d\) \((1 \le a, b, c, d \le 10^9)\).

Output

Ghi ra tệp văn bản frac.out 4 số là sắp xếp của các số ban đầu sao cho phân số của chúng càng nhỏ càng tốt. Nếu có một số cách thích hợp để sắp xếp lại các số, hãy in bất kỳ cách nào trong số chúng.

Example

Test 1

Input
1 2 3 4
Output
1 3 2 4
Note

Trong ví dụ đầu tiên, ta có 2 cách sắp xếp lại các số là \(1, 3, 2, 4\) và \(2, 4, 1, 3\) đều cho phân số có giá trị nhỏ nhất là:
$
\frac{1}{3} + \frac{2}{4} = \frac{2}{4} + \frac{1}{3} = \frac{5}{6}
$

Trong ví dụ thứ hai, tất cả các số đều bằng nhau nên trong mọi cách sắp xếp, phân số luôn có giá trị là:
$
\frac{5}{5} + \frac{5}{5} = 2
$

Test 2

Input
5 5 5 5
Output
5 5 5 5
Dễ

Cắt thép

100 điểm 50% AC 1 đã giải

staffagent

Kho vật tư có \(n\) thanh thép, thanh thứ \(i\) dài \(a_i\) đơn vị. Cần cưa các thanh này để có ít nhất \(K\) đoạn thép cùng chiều dài nguyên. Không bắt buộc dùng hết mọi thanh; mỗi thanh có thể còn phần dư sau khi cưa.

Tìm chiều dài lớn nhất của các đoạn thép mà vẫn đủ \(K\) đoạn.

Input

  • Dòng đầu chứa hai số nguyên \(n\) và \(K\).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, \dots, a_n\).

Output

In ra một số nguyên là chiều dài lớn nhất. Nếu không thể cưa được \(K\) đoạn có chiều dài nguyên dương nào thì in ra \(0\).

Constraints

  • \(1 \le n \le 5 \cdot 10^5\), \(1 \le K \le 10^9\).
  • \(1 \le a_i \le 10^9\).

Subtask: \(60\%\) số test có \(n \le 3000\); \(40\%\) số test còn lại có \(n \le 500\,000\).

Sample Input

5 10
30 21 8 14 5

Sample Output

7

Explanation

Với chiều dài \(7\): \(4 + 3 + 1 + 2 + 0 = 10\) đoạn. Với chiều dài \(8\) chỉ được \(3+2+1+1+0 = 7\) đoạn.

Dễ

Câu 2: Phát quà (5.0 điểm)

100 điểm 100% AC 1 đã giải

root

Thầy Minh có \(X\) chiếc bút và \(Y\) quyển tập, thầy sẽ phát hết các phần thưởng cho các bạn học sinh và mong muốn số chiếc bút và số quyển tập được chia đều cho các bạn.

Yêu cầu: Cho 2 số nguyên dương \(X\) và \(Y\). Hãy tìm tất cả các cách phát quà thỏa mãn điều kiện của thầy Minh.

Input

Đọc từ file GIFTS.INP gồm một dòng chứa 2 số nguyên dương \(X, Y\) \((X \le 10^9, Y \le 10^9)\).

Output

Ghi ra file GIFTS.OUT một số nguyên là số cách phát quà thỏa điều kiện đề bài.

Example

Test 1

Input
4 6
Output
2
Note

Giải thích: Với 4 chiếc bút và 6 quyển tập thì có các cách phát quà:

  • Cách 1: phát quà cho 1 học sinh, mỗi em nhận 4 chiếc bút và 6 quyển tập.
  • Cách 2: phát quà cho 2 học sinh, mỗi em nhận 2 chiếc bút và 3 quyển tập.

Vậy có 2 cách phát quà.

Scoring

  • 60% số test: \(X \le 10^6, Y \le 10^6\)
  • 40% số test: Không có ràng buộc gì thêm
Xem thêm