trang chủ / bài tập / schoolnews

Tin tức trong lớp

Đề bài

Mô tả

Lớp 6B có n học sinh, đánh số từ 1 đến n. Mỗi học sinh i có đúng một người bạn thân g(i) mà cậu ấy sẽ gọi điện ngay khi biết một tin gì đó. Quan hệ này không đối xứng: g(g(i)) không nhất thiết bằng i, và g(i)i.

Trong m ngày liên tiếp, mỗi ngày có đúng một tin mới xuất hiện. Ngày thứ i, học sinh ai biết được một tin có độ hot bi (bi1). Cậu lập tức gọi cho g(ai) và kể lại. Trong lúc kể, tin đã cũ đi một chút nên g(ai) chỉ nhận được tin với độ hot bi1. Người này lại làm điều tương tự, và cứ thế tiếp tục. Quá trình dừng lại khi độ hot chạm 0, vì không ai buồn kể một tin có độ hot bằng 0.

Nói chính xác hơn: nếu học sinh x biết một tin với độ hot y>0 thì cậu gọi cho g(x), và g(x) biết tin đó với độ hot y1; nếu y1>0 thì g(x) lại kể tiếp. Như vậy tin của ngày thứ i được kể cho đúng bi học sinh, theo thứ tự

ai, g(ai), g(g(ai)), , gbi1(ai)

Danh sách này có thể chứa những học sinh trùng nhau: trong cùng một ngày, một người có thể nghe đi nghe lại cùng một tin với các độ hot khác nhau.

Các giá trị bi được cho trực tiếp, còn ai được xác định qua dãy số nguyên vi theo công thức

ai=((vi+resi11)modn)+1

trong đó res0=0resisố học sinh mà tin của ngày thứ i là tin đầu tiên trong đời họ được nghe (tính trong suốt m ngày đang xét). Nhiệm vụ của bạn là tính res1,res2,,resm.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • Dòng thứ hai chứa n số nguyên g(1),g(2),,g(n).
  • Dòng thứ ba chứa m số nguyên v1,v2,,vm.
  • Dòng thứ tư chứa m số nguyên b1,b2,,bm.

Dữ liệu ra

In ra m dòng, dòng thứ i chứa giá trị resi. Không in res0.

Ràng buộc

  • 2n,m105
  • 1g(i)ng(i)i
  • 1vi107
  • 1bi107

Ví dụ

Input Output Giải thích
3 4
2 3 1
1 2 3 4
1 2 3 4
1
1
1
0
Vòng bạn bè là 1231. Ngày 1: a1=((1+01)mod3)+1=1, tin chỉ được kể cho {1}, và đây là lần đầu học sinh 1 nghe tin nên res1=1. Ngày 2: a2=((2+11)mod3)+1=3, tin đi qua 3,1; chỉ có 3 là mới nên res2=1. Ngày 3: a3=1, tin đi qua 1,2,3; chỉ có 2 là mới nên res3=1. Ngày 4: a4=2, tin đi qua 2,3,1,2, không ai mới nên res4=0.
8 6
7 6 4 2 3 5 5 7
10 4 3 8 9 1
1 1 1 2 2 2
1
1
1
2
1
1
Ngày 4 có a4=((8+11)mod8)+1=1b4=2, tin đi qua 1 rồi g(1)=7; cả hai đều chưa từng nghe tin nên res4=2. Ngày 5 có a5=((9+21)mod8)+1=3, tin đi qua 3g(3)=4, nhưng 4 đã nghe tin từ ngày 3 nên res5=1.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0