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

Ổ chia áp

Đề bài

Mô tả

n máy tính và m ổ cắm điện. Máy tính thứ i có công suất là số nguyên dương pi, ổ cắm thứ j có công suất là số nguyên dương sj. Có thể cắm máy tính i vào ổ cắm j khi và chỉ khi công suất của chúng bằng nhau: pi=sj. Mỗi ổ cắm chỉ nối được với nhiều nhất một máy tính.

Để nối được nhiều máy hơn, ta dùng bộ chia áp (adapter). Mỗi adapter có một đầu cắm và một đầu ổ. Khi cắm một adapter vào ổ có công suất x, đầu ổ của adapter có công suất bằng x/2 (công suất chia đôi, làm tròn lên). Ví dụ 10/2=59/2=5.

Mỗi adapter chỉ dùng một lần. Có thể nối nhiều adapter thành chuỗi, cái đầu tiên cắm vào ổ cắm. Ví dụ nếu cắm liên tiếp hai adapter vào một ổ có công suất 10 thì đầu cuối có công suất 10/2/2=3, khi đó có thể nối một máy tính có công suất 3 vào ổ này.

Số adapter là không giới hạn. Hãy lắp adapter sao cho số máy tính được cấp điện đồng thời là lớn nhất, ký hiệu c. Trong tất cả các cách đạt c máy, hãy chọn cách dùng ít adapter nhất, ký hiệu u.

Dữ liệu đảm bảo nối được ít nhất một máy tính.

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 p1,p2,,pn , công suất các máy tính.
  • Dòng thứ ba chứa m số nguyên s1,s2,,sm , công suất các ổ cắm.

Dữ liệu ra

  • Dòng đầu in ra hai số cu: số máy tính tối đa được cấp điện đồng thời và số adapter tối thiểu để nối c máy đó.
  • Dòng thứ hai in ra m số nguyên a1,a2,,am , với aj là số adapter cắm nối tiếp vào ổ cắm j. Tổng các aj phải bằng u.
  • Dòng thứ ba in ra n số nguyên b1,b2,,bn , với bj là chỉ số ổ cắm mà máy tính j được nối vào; bj=0 nghĩa là máy j không được nối. Các bj khác 0 phải đôi một khác nhau, và công suất máy j phải bằng công suất ổ bj sau khi cắm abj adapter. Số bj khác 0 phải bằng c.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n,m2·105
  • 1pi,sj109

Ví dụ

Input Output Giải thích
2 2
1 1
2 2
2 2
1 1
2 1
Mỗi ổ có công suất 2; cắm một adapter vào mỗi ổ để được công suất 2/2=1, khi đó nối được cả hai máy công suất 1. Dùng 2 adapter (đáp án nối máy nào với ổ nào không duy nhất).
2 1
2 100
99
1 6
6
1 0
Ổ duy nhất có công suất 99. Sau 6 adapter: 99502513742, nối được máy 1 (công suất 2). Máy 2 (công suất 100) không nối được.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0