Đ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ễ

Chụp hình bạn bè

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

root

Bạn có \(n\) người bạn và muốn chụp \(m\) tấm hình cho họ. Mỗi tấm hình phải chụp đúng hai người bạn, và không có cặp bạn nào được chụp hơn một lần. Nói cách khác, mỗi tấm hình là một cặp \((i, j)\) với \(1 \le i < j \le n\) và mỗi cặp chỉ được chọn một lần.

Mỗi người bạn thứ \(i\) có một mức độ thu hút được biểu diễn bởi số nguyên \(a_i\). Độ hấp dẫn của một bức hình chụp hai người bạn \(i\) và \(j\) được tính bằng \(a_i \oplus a_j\), trong đó \(\oplus\) là phép toán XOR giữa hai số nguyên.

Hãy chọn ra \(m\) tấm hình sao cho tổng độ hấp dẫn là lớn nhất có thể. Do kết quả có thể rất lớn, hãy in ra phần dư của tổng độ hấp dẫn chia cho \(10^9 + 7\).

Input

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m\) \((2 \le n \le 10^5,\ 1 \le m \le \frac{n(n-1)}{2})\) --- số người bạn và số tấm hình cần chụp.
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) \((0 \le a_i \le 10^9)\) --- mức độ thu hút của từng người bạn.

Output

  • Ghi ra một số nguyên duy nhất --- tổng độ hấp dẫn lớn nhất có thể đạt được sau khi chụp \(m\) tấm hình, lấy modulo \(10^9 + 7\).

Example

Test 1

Input
3 2
1 2 3
Output
5

Test 2

Input
3 3
1 2 3
Output
6

Scoring

\begintabular|c|c|l|
\hline
Subtask & Điểm & Ràng buộc

\hline
1 & 15 & \(n \le 1000\)

2 & 20 & \(a_i \lt 2^{10}\) với mọi \(i\)

3 & 65 & Không có ràng buộc bổ sung

\hline
\endtabular

Dễ

Ước chung lớn nhất

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

root

Ước chung lớn nhất (ƯCLN) của hai hay nhiều số là số tự nhiên lớn nhất mà tất cả các số đó đều chia hết.

Nói một cách đơn giản, đó là con số "chung" lớn nhất mà bạn có thể chia đều cho tất cả các số đã cho mà không bị dư.

Ví dụ:

  • Để tìm ƯCLN của \(12\) và \(18\):
  • Ước của \(12\) là: \({1, 2, 3, 4, 6, 12}\)
  • Ước của \(18\) là: \({1, 2, 3, 6, 9, 18}\)
  • Các ước chung của \(12\) và \(18\) là \({1, 2, 3, 6}\). Trong số này, số lớn nhất là \(6\).

Vậy, ƯCLN của \(12\) và \(18\) là \(6\).

Viết chương trình nhập vào hai số nguyên dương \(a\) và \(b\) \((1 \leq a, b, \leq 10^9)\). Hãy tìm và in ra giá trị ƯCLN của \(a\) và \(b\).

Input

Hai số nguyên dương \(a\), \(b\) \((1 \leq a, b \leq 10^8)\).

Output

Yêu cầu bài toán.

Example

Test 1

Input
4 6
Output
2

Test 2

Input
10 20
Output
10
Dễ

Tổng của một dãy con lớn nhất

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

staffagent

Cho dãy số nguyên \(a\) gồm \(n\) phần tử, được đánh số từ \(1\) đến \(n\). Dãy con của \(a\) có thể thu được bằng cách xóa đi một số tùy ý các phần tử của nó. Ví dụ \(a = [1, 4, 3]\) có các dãy con là: \([1,4,3]\); \([1,4]\); \([1,3]\); \([4,3]\); \([1]\); \([4]\); \([3]\); \([\,]\).

Trọng số của một dãy là tổng các phần tử trong dãy (dãy rỗng có trọng số \(0\)).

Yêu cầu: Với mỗi truy vấn \((l, r)\), hãy tìm trọng số lớn nhất của một dãy con của dãy \(a_l, a_{l+1}, \ldots, a_r\).

Input

  • Dòng đầu ghi số nguyên dương \(n\).
  • Dòng thứ hai ghi \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(|a_i| \le 10^9\)).
  • Dòng thứ ba ghi số nguyên dương \(T\) là số đoạn cần tính trọng số lớn nhất.
  • Trong \(T\) dòng tiếp theo, mỗi dòng ghi hai số \(l\) và \(r\) (\(1 \le l \le r \le n\)).

Các số cách nhau một dấu cách.

Output

Gồm \(T\) dòng, mỗi dòng ghi một số nguyên là trọng số lớn nhất tương ứng với mỗi đoạn.

Scoring

  • \(50\%\) số điểm: \(1 \le n, T \le 1000\).
  • \(50\%\) số điểm: \(1000 < n, T \le 200\,000\).

Sample Input 1

6
4 5 -9 2 -6 1
2
1 3
2 5

Sample Output 1

9
7
Dễ

Sắp xếp giảm dần

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

root

Viết chương trình nhập vào một dãy \(a\) gồm \(N\) số nguyên. Hãy sắp xếp các phần tử trong mảng theo thứ tự giảm dần và in ra màn hình.

Input

  • Dòng đầu tiên là số nguyên dương \(N\) (\(1 \leq N \leq 10^5\)).
  • Dòng thứ hai là \(N\) số nguyên \(a_1, a_2, ..., a_n\) (\(-10^9 \leq a_i \leq 10^9\)), mỗi số cách nhau một dấu cách.

Output

Một dòng duy nhất chứa \(N\) số nguyên đã được sắp xếp giảm dần, cách nhau một dấu cách.

Example

Test 1

Input
5
4 3 3 2 5
Output
5 4 3 3 2 
Xem thêm