Điều hướng chính

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.

root

Xếp chỗ ngồi

100 điểm

Trong buổi sinh hoạt đầu tiên của một câu lạc bộ, có \(n\) thành viên mới đứng thành một hàng ngang, được đánh số từ \(1\) đến \(n\). Thầy giáo chủ nhiệm muốn chia các bạn thành \(m\) nhóm để tiện cho việc sinh hoạt và làm quen. Mỗi nhóm phải bao gồm một dãy các học sinh đứng liên tiếp nhau trong hàng và mỗi nhóm phải có ít nhất một thành viên.

Tuy nhiên, thầy giáo hiểu rằng các bạn học sinh đến từ nhiều lớp khác nhau nên không phải ai cũng đã quen biết nhau. Thầy đã tiến hành một cuộc khảo sát để xác định "mức độ không quen biết" giữa từng cặp học sinh. Mức độ không quen biết giữa bạn thứ \(i\) và bạn thứ \(j\) được cho bởi một số nguyên \(a_{i,j}\).

Để các nhóm hoạt động hiệu quả, thầy giáo muốn sắp xếp các nhóm sao cho tổng mức độ không quen biết của tất cả các nhóm là nhỏ nhất. Mức độ không quen biết của một nhóm được định nghĩa là nửa tổng mức độ không quen biết của tất cả các cặp học sinh bất kỳ trong nhóm đó.

Với \(n\) học sinh đứng thành một hàng và \(m\) nhóm cần chia, cùng với ma trận mức độ không quen biết \(A = [a_{ij}]\), hãy tìm cách chia các học sinh thành \(m\) nhóm liên tiếp sao cho tổng mức độ không quen biết của tất cả các nhóm là nhỏ nhất.

Input

Dữ liệu vào được cung cấp từ đầu vào chuẩn theo định dạng sau:

  • Dòng đầu tiên chứa hai số nguyên dương \(n, m\) (\(1 \le n \le 4000, 1 \le m \le \min(n, 800)\)).
  • \(n\) dòng tiếp theo, dòng thứ \(i\) chứa \(n\) số nguyên, số thứ \(j\) trên dòng thứ \(i\) là \(a_{ij}\) (\(0 \le a_{ij} \le 9, a_{ij} = a_{ji}, a_{ii} = 0\)).

Output

Một số nguyên duy nhất - tổng mức độ không quen biết nhỏ nhất của \(m\) nhóm

Example

Test 1

Input
3 2
0 2 0
2 0 3
0 3 0
Output
2

Scoring

  • Subtask \(1\) (\(30\%\) số điểm) : \(n \leq 20\).
  • Subtask \(2\) (\(30\%\) số điểm) : \(n \leq 400\).
  • Subtask \(3\) (\(40\%\) số điểm) : không có ràng buộc nào thêm.

root

Hệ thống chuyến bay

100 điểm

Trên hành tinh X, có \(n\) thành phố được kết nối với nhau bởi \(m\) chuyến bay một chiều. Mỗi chuyến bay cho phép di chuyển từ một thành phố này sang một thành phố khác. Tuy nhiên, hệ thống quản lý giao thông trên hành tinh này đang gặp vấn đề, và họ muốn kiểm tra xem có thể di chuyển từ bất kỳ thành phố nào đến bất kỳ thành phố khác chỉ bằng cách sử dụng các chuyến bay hiện có hay không.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m\) \((1 \leq n \leq 10^5, 1 \leq m \leq 2 \cdot 10^5)\) --- số lượng thành phố và số lượng chuyến bay.
  • \(m\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(a\) và \(b\) \((1 \leq a, b \leq n)\), biểu thị rằng có một chuyến bay một chiều từ thành phố \(a\) đến thành phố \(b\).

Output

  • Nếu tất cả các tuyến đường đều khả thi, in ra "YES".
  • Nếu không, in ra "NO".

Example

Test 1

Input
4 5
1 2
2 3
3 1
1 4
3 4
Output
NO

root

Đếm cặp

100 điểm

Cho dãy số \(A\) gồm \(n\) phần tử nguyên dương \(A_1,A_2,…,A_n\). Mỗi phần tử có giá trị không vượt quá \(10^9\) và \(n≤ 10^5\). Một cặp số được gọi là cặp tương đồng với \(x\), nếu cặp số này có tổng bằng số \(x\) cho trước nào đó.

Yêu cầu: Hãy đếm xem trong dãy số \(A\) có bao nhiêu cặp số (\(A_i;A_j\)) tương đồng với \(x\) (có nghĩa là \(A_i+ A_j=x\)) với \(i<j\).

Input

  • Dòng đầu tiên chứa dãy số \(n,x\) (\(n≤10^5,x≤10^6\)).
  • Dòng thứ 2 chứa \(n\) phần tử của dãy số \(A\) (\(A_i≤10^9\)).

Output

  • Ghi ra một số nguyên là cặp đôi tương đồng của dãy số.

Example

Test 1

Input
7 6
1 2 4 3 4 5 3
Output
4

root

PAIRXOR

100 điểm

Cho dãy số nguyên không âm \(a_1, a_2, \ldots, a_n\). Xét tất cả \(n \times (n - 1)\ /\ 2\) cặp \((i, j)\) mà \(1 \le i < j \le n\) để tạo dãy gồm \(n \times (n - 1)\ /\ 2\) phần tử tương ứng với cặp \((i, j)\) có giá trị \(a_i + a_j\).

Yêu cầu: Tính xor của tất cả các phần tử trong dãy mới tạo.

Input

  • Dòng đầu chứa số nguyên \(n\ (n \le 3.10^5)\).
  • Dòng thứ hai gồm \(n\) số nguyên không âm có giá trị không vượt quá \(10^9\) mô tả dãy \(a_1, a_2, \ldots, a_n\).

Output

  • Gồm một dòng là giá trị tính được.

Example

Test 1

Input
3
1 2 3
Output
2
Xem thêm