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

Làm tròn dãy số

Đề bài

Mô tả

Cho 2n số thực a1,a2,,a2n, mỗi số được ghi với đúng ba chữ số sau dấu chấm thập phân.

Ta thực hiện đúng n thao tác. Mỗi thao tác gồm:

  • chọn hai chỉ số ij mà cả hai đều chưa được chọn ở bất kỳ thao tác nào trước đó;
  • thay ai bởi ai (số nguyên lớn nhất không vượt quá ai);
  • thay aj bởi aj (số nguyên nhỏ nhất không nhỏ hơn aj).

Sau n thao tác, mỗi phần tử của dãy đã được chọn đúng một lần: có đúng n phần tử bị làm tròn xuống và đúng n phần tử bị làm tròn lên.

Hãy tìm giá trị nhỏ nhất có thể của trị tuyệt đối hiệu giữa tổng của dãy trước khi thực hiện và tổng của dãy sau khi thực hiện tất cả các thao tác.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa 2n số thực a1,a2,,a2n, mỗi số có đúng ba chữ số sau dấu chấm thập phân, cách nhau bởi dấu cách.

Dữ liệu ra

Một số thực duy nhất là giá trị nhỏ nhất tìm được, in với đúng ba chữ số sau dấu chấm thập phân.

Ràng buộc

  • 1n2000
  • 0ai10000
  • Mỗi ai có đúng ba chữ số sau dấu chấm thập phân.

Ví dụ

Input Output Giải thích
3
0.000 0.500 0.750 1.000 2.000 3.000
0.250 Chọn các cặp (i,j) lần lượt là (1,4), (2,3), (5,6). Tổng trước là 0+0.5+0.75+1+2+3=7.25, tổng sau là 0+0+1+1+2+3=7, chênh lệch 0.25.
3
4469.000 6526.000 4864.000 9356.383 7490.000 995.896
0.279 Làm tròn lên 9356.383 (tăng 0.617) và làm tròn xuống 995.896 (giảm 0.896); bốn số còn lại đều nguyên nên không đổi dù làm tròn theo hướng nào. Chênh lệch là |0.6170.896|=0.279.

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