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

Tăng kiểu bậc thang

100 điểm 62% AC 7 đã giải

root

Cho dãy số \(a\) gồm \(n\) số nguyên đánh số từ \(1\) đến \(n\). Ban đầu dãy \(a\) gồm toàn số \(0\). Cho \(q\) truy vấn, mỗi truy vấn được cho dưới dạng hai số nguyên \(i\) và \(k\) : tăng \(a_{i}\) lên \(k\) đơn vị, \(a_{i+1}\) lên \(k - 1\) đơn vị,... \(a_{i+k−1}\) lên \(1\) đơn vị.

Hãy in ra dãy \(a\) sau khi thực hiện \(q\) truy vấn này.

Input

Dòng đầu chứa hai số nguyên dương \(n\) và \(q\) \((n, q \leq 5 \times 10^5)\).

\(q\) dòng tiếp theo, mỗi dòng tương ứng với một truy vấn là hai số nguyên \(i\) và \(k\) \((1 \leq i \leq n; 1 \leq k \leq n-i+1)\).

Output

Một dòng duy nhất là dãy \(a_{1},a_{2},...,a_{n}\) sau khi thực hiện xong \(q\) truy vấn.

Example

Test 1

Input
7 5
5 2
1 6
1 6
7 1
7 1
Output
12 10 8 6 6 3 2 

Scoring

\(30\%\) số test tương ứng với \(30\%\) số điểm có \(n, q \leq 1000\).

\(30\%\) số test tương ứng với \(30\%\) số điểm mọi \(k\) trong \(q\) truy vấn bằng nhau.

\(40\%\) số test tương ứng với \(30\%\) số điểm còn lại không có ràng buộc gì thêm.

Dễ

Khám phá đảo động vật

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

root

Trong một chuyến phiêu lưu, bạn tình cờ khám phá ra một hòn đảo bí ẩn nơi các loài động vật sinh sống. Đảo này được phân chia thành nhiều khu vực khác nhau, mỗi khu vực có thể nối với một hoặc nhiều khu vực khác thông qua các con đường. Mỗi con đường có độ dài khác nhau và có thể là một chiều hoặc hai chiều.

Từ khu vực đầu tiên trên đảo, bạn muốn tìm ra con đường nhanh nhất để đến khu vực cuối cùng, nơi bạn sẽ gặp một loài động vật quý hiếm. Tuy nhiên, bạn cũng muốn biết có bao nhiêu lộ trình ngắn nhất từ khu vực đầu đến khu vực cuối.

Để giúp bạn, bài toán yêu cầu bạn tìm ra độ dài ngắn nhất của con đường và số lượng các con đường ngắn nhất có thể đi từ khu vực đầu tiên đến khu vực cuối cùng.

Input

Dòng đầu tiên chứa hai số nguyên \(N\) và \(M\) (\(1 \leq N \leq 5000, 1 \leq M \leq 31313)\), tương ứng với số lượng khu vực và số lượng con đường trên đảo.

M dòng tiếp theo mô tả các con đường nối các khu vực. Mỗi con đường được mô tả bằng 4 số nguyên \(K, U, V, L\):

  • Nếu \(K = 1\), con đường là một chiều từ \(U\) đến \(V\) có độ dài \(L\).

  • Nếu \(K = 2\), con đường là hai chiều nối \(U\) với \(V\) có độ dài \(L\) (tức là có đường đi từ \(U\) đến \(V\) và ngược lại).

Output

In ra hai số nguyên:

  1. Độ dài ngắn nhất của con đường từ khu vực đầu tiên đến khu vực cuối cùng.

  2. Số lượng các con đường ngắn nhất có thể đi từ khu vực đầu tiên đến khu vực cuối cùng.

Example

Test 1

Input
3 2
1 1 2 3
2 2 3 1
Output
4
1
Dễ

Ước chung lớn nhất của bốn số

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

staffagent

Cho bốn số nguyên \(a, b, c, d\), trong đó ít nhất một số khác \(0\). Hãy tìm ước chung lớn nhất (một số nguyên dương) của cả bốn số.

Gợi ý: xây dựng hàm \(UCLN(a, b)\) tìm ước chung lớn nhất của hai số, rồi áp dụng liên tiếp.

Input

  • Một dòng gồm bốn số nguyên \(a, b, c, d\) cách nhau bởi dấu cách.

Output

  • In ra ước chung lớn nhất của bốn số.

Constraints

  • \(|a|, |b|, |c|, |d| \le 10^{18}\)
  • Có ít nhất một số khác \(0\).

Sample Input 1

12 18 30 48

Sample Output 1

6

Sample Input 2

-8 0 20 -12

Sample Output 2

4
Dễ

Tàu cao tốc Metro

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

root

Có \(n\) điểm tập trung dân cư đông đúc. Các điểm này được đánh số từ \(1\) đến \(n\) \((1 \leq n \leq 10^4)\). Mạng lưới giao thông công cộng là \(m\) đường xe lửa cao tốc một ray, mỗi đường nối một cặp điểm dân cư và chạy hai chiều \((0 \leq m \leq 10^5)\), và mọi cặp điểm đều có thể đi đến được với nhau. Để tránh sự va chạm giữa các con tàu cao tốc khi chúng có thể đi ngược chiều trên cùng một đường, chính quyền thành phố quyết định sửa lại các con đường đó thành một chiều. Tuy nhiên, sau khi thay đổi thì lại có một vấn đề bất cập sảy ra, đó là: tồn tại các cặp điểm tập trung dân cư không thể đi đến được nhau.

Chính vì vậy, chính quyền lại thêm một quyết định nữa, đó là sẽ xây dựng thêm một số ít nhất các tuyến đường mới để đảm bảo từ một điểm bất kỳ có thể đi tới điểm bất kỳ khác bằng tàu cao tốc.
Ví dụ, với \(n = 5\) và hiện có 4 đường: \(1 - 2\), \(2 - 3\), \(1 - 4\) và \(4 - 5\). Để đảm bảo yêu cầu đã nêu, người ta cần xây dựng ít nhất \(2\) đường mới, chẳng hạn \(5 - 3\) và \(3 - 1\).

Yêu cầu: Cho \(n\), \(m\) và các cặp \((a, b)\) mô tả mạng giao thông sau khi đã sửa thành đường \(1\) chiều. Mỗi cặp \((a, b)\) xác định tồn tại đường tàu \(a - b\). Hãy xác định số lượng tối thiểu các đường cần xây dựng thêm.

Input

Vào từ file văn bản MONORAIL.INP:

  • Dòng đầu tiên chứa 2 số nguyên n và m,
  • Mỗi dòng trong m dòng tiếp theo chứa 2 số nguyên a và b.

Output

Đưa ra file văn bản MONORAIL.OUT một số nguyên -- số đường mới.

Example

Test 1

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