trang chủ / đề bài / emptystalls

Chuồng Trống

Đề bài

Mô tả

Nông dân John vận hành một chuồng bò hình tròn với N ô chuồng được đánh số từ 0 đến N−1, trong đó ô N−1 nằm kề ô 0. Mỗi ngày, khi những con bò trở về chuồng, mỗi con đều có một ô chuồng yêu thích. Nếu ô chuồng yêu thích đã bị chiếm, con bò sẽ di chuyển theo chiều tăng dần của số hiệu ô (quay vòng từ ô N−1 về ô 0) cho đến khi tìm được ô trống.

Dãy ô chuồng yêu thích của các con bò được mô tả qua K nhóm. Mỗi nhóm gồm bốn số X, Y, A, B mô tả X·Y con bò: có X con bò yêu thích mỗi ô trong dãy f(1),f(2),…,f(Y), trong đó f(i)=(A·i+B)modN.

Các con bò lần lượt tìm chuồng theo thứ tự: nhóm 1 trước, rồi nhóm 2, v.v. Trong mỗi nhóm, bò yêu thích f(1) vào trước (tất cả X con), rồi đến bò yêu thích f(2), v.v.

Tổng số bò luôn nhỏ hơn N, nên sau khi tất cả bò đã vào chuồng, sẽ luôn còn ít nhất một ô trống. Hãy tìm chỉ số nhỏ nhất của ô chuồng còn trống sau khi tất cả bò đã vào chuồng.

Dữ liệu vào

  • Dòng đầu: hai số nguyên N và K.
  • K dòng tiếp theo, mỗi dòng chứa bốn số nguyên X, Y, A, B.

Dữ liệu ra

  • Một số nguyên duy nhất: chỉ số nhỏ nhất của ô chuồng còn trống.

Ràng buộc

  • 2≤N≤3000000
  • 1≤K
  • 0≤A,B≤109
  • Tổng số bò (tổng các X·Y) ≤N−1

Ví dụ

Input Output Giải thích
10 3
3 2 2 4
2 1 0 1
1 1 1 7
5 Nhóm 1: f(1)=6,f(2)=8, mỗi ô 3 bò. Nhóm 2: f(1)=1, 2 bò. Nhóm 3: f(1)=8, 1 bò. Bò lần lượt chiếm các ô, ô trống nhỏ nhất còn lại là 5.
15 5
1 1 13 6
1 4 15 1
1 2 4 18
1 1 14 9
1 1 15 17
0 Sau khi tất cả bò vào chuồng, ô 0 vẫn trống và là ô trống có chỉ số nhỏ nhất.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0