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

Rương Hài Hòa

Đề bài

Mô tả

Một dãy số nguyên dương b1,b2,,bn được gọi là hài hòa nếu ước chung lớn nhất của mọi cặp phần tử trong dãy đều bằng 1 (tức là gcd(bi,bj)=1 với mọi ij).

Cho dãy số nguyên dương a1,a2,,an. Hãy tìm một dãy hài hòa b1,b2,,bn sao cho tổng

i=1n|aibi|

là nhỏ nhất.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số phần tử của dãy.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

In ra n số nguyên dương b1,b2,,bn — dãy hài hòa làm tổng nói trên nhỏ nhất. Nếu có nhiều dãy tối ưu, in ra dãy bất kỳ.

Ràng buộc

  • 1n100
  • 1ai30

Ví dụ

Input Output Giải thích
5
1 6 4 2 8
1 5 3 1 8 Các giá trị 1, 5, 3, 1, 8 đôi một nguyên tố cùng nhau. Tổng chênh lệch là 0+1+1+1+0=3, là giá trị nhỏ nhất có thể.
5
1 1 1 1 1
1 1 1 1 1 Dãy ban đầu đã hài hòa (mọi cặp đều có gcd=1), nên giữ nguyên cho tổng chênh lệch bằng 0.

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