Dãy nén

Đề bài

Mô tả

Cho hai dãy số a và b, mỗi dãy gồm n phần tử. Từ chúng ta xây dựng dãy c với ci=bi−ai. Biết rằng tất cả các phần tử của dãy a và b đều nằm trong đoạn [l,r], và tất cả các phần tử của dãy c đều phân biệt.

Với một dãy c gồm n số phân biệt, ta định nghĩa dãy nén p của nó như sau: pi bằng số lượng phần tử của c nhỏ hơn hoặc bằng ci. Nói cách khác, pi là thứ hạng của ci khi sắp xếp c tăng dần. Vì các phần tử của c đôi một khác nhau nên p là một hoán vị của 1,2,…,n.

Cho dãy a và dãy nén p. Hãy tìm một dãy b bất kỳ sao cho l≤bi≤r với mọi i, và dãy nén của c (với ci=bi−ai) đúng bằng p. Nếu không tồn tại dãy b như vậy, in ra −1.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n, l, r.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an (l≤ai≤r).
  • Dòng thứ ba chứa n số nguyên phân biệt p1,p2,…,pn (1≤pi≤n), là dãy nén của c.

Dữ liệu ra

  • Nếu không tồn tại dãy b phù hợp, in ra một dòng chứa −1.
  • Ngược lại, in ra n số nguyên là các phần tử của một dãy b thỏa mãn. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.

Ràng buộc

  • 1≤n≤105
  • 1≤l≤r≤109
  • l≤ai≤r
  • p là một hoán vị của 1,2,…,n

Ví dụ

Input Output Giải thích
5 1 5
1 1 1 1 1
3 1 5 4 2
3 1 5 4 2 Với b=[3,1,5,4,2] ta có c=[2,0,4,3,1], dãy nén là [3,1,5,4,2] đúng bằng p.
4 2 9
3 4 8 9
3 2 1 4
2 2 2 9 c=[2−3,2−4,2−8,9−9]=[−1,−2,−6,0], dãy nén là [3,2,1,4]. Đáp án khác vẫn được chấp nhận.
6 1 5
1 1 1 1 1 1
2 3 5 4 1 6
-1 Không có cách chọn b trong [1,5] để 6 giá trị c phân biệt có dãy nén [2,3,5,4,1,6].

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