trang chủ / đề bài / 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 i≠j).

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|ai−bi|

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

  • 1≤n≤100
  • 1≤ai≤30

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.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