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

Trao Đổi Chip

Đề bài

Mô tả

Bessie có A chip loại A và B chip loại B. Cô có thể đổi cB chip loại B lấy cA chip loại A, thực hiện nhiều lần tùy ý.

Bessie muốn có ít nhất fA chip loại A. Để đạt được điều này, cô nhận thêm x chip ngẫu nhiên (mỗi chip có thể là loại A hoặc B, do đối thủ chọn theo cách bất lợi nhất). Tìm giá trị nhỏ nhất của x (không âm) sao cho bất kể x chip thêm được phân phối thế nào, Bessie luôn đảm bảo đạt được ít nhất fA chip loại A (sau khi đổi tối ưu).

Dữ liệu vào

  • Dòng 1: Số nguyên T — số test case
  • T dòng tiếp theo, mỗi dòng chứa 5 số nguyên: A, B, cA, cB, fA

Dữ liệu ra

Với mỗi test case, in ra một số nguyên — giá trị nhỏ nhất của x.

Ràng buộc

  • 1T104
  • 0A,B109
  • 1cA,cB109
  • 0fA109
  • Sử dụng kiểu dữ liệu 64-bit

Ví dụ

Input Output Giải thích
2
2 3 1 1 6
2 3 1 1 4
1
0
Test 1: Bessie có 2A+3B, đổi 3B thành 3A, được 5A. Cần thêm 1 chip. Test 2: đã đủ 5A 4.
5
0 0 2 3 5
0 1 2 3 5
1 0 2 3 5
10 10 2 3 5
0 0 1 1000000000 1000000000
9
8
7
0
1000000000000000000
Xem giải thích chi tiết trong lời giải.

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