CF1463B.Find The Array
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array [a1,a2,…,an] such that 1≤ai≤109. Let S be the sum of all elements of the array a.
Let's call an array b of n integers beautiful if:
- 1≤bi≤109 for each i from 1 to n;
- for every pair of adjacent integers from the array (bi,bi+1), either bi divides bi+1, or bi+1 divides bi (or both);
- 2i=1∑n∣ai−bi∣≤S.
Your task is to find any beautiful array. It can be shown that at least one beautiful array always exists.
给你一个数组 [a1,a2,…,an],满足 1≤ai≤109。令 S 表示数组 a 中所有元素的和。
我们称一个由 n 个整数组成的数组 b 是优美的,当且仅当满足以下条件:
- 对每个 i(1≤i≤n),均有 1≤bi≤109;
- 对数组中每一对相邻元素 (bi,bi+1),要么 bi 整除 bi+1,要么 bi+1 整除 bi(或两者同时成立);
- 2i=1∑n∣ai−bi∣≤S。
你的任务是找出任意一个优美的数组 b。可以证明,至少存在一个优美的数组。
输入格式
The first line contains one integer t (1≤t≤1000) — the number of test cases.
Each test case consists of two lines. The first line contains one integer n (2≤n≤50).
The second line contains n integers a1,a2,…,an (1≤ai≤109).
第一行包含一个整数 t(1≤t≤1000)—— 测试用例的数量。
每个测试用例由两行组成。第一行包含一个整数 n(2≤n≤50)。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109)。
输出格式
For each test case, print the beautiful array b1,b2,…,bn (1≤bi≤109) on a separate line. It can be shown that at least one beautiful array exists under these circumstances. If there are multiple answers, print any of them.
对于每个测试用例,在单独一行上输出优美的数组 b1,b2,…,bn(其中 1≤bi≤109)。可以证明在此条件下至少存在一个优美数组。如果存在多个答案,输出任意一个即可。
输入输出样例
输入#1
4 5 1 2 3 4 5 2 4 6 2 1 1000000000 6 3 4 8 1 2 3
输出#1
3 3 3 3 3 3 6 1 1000000000 4 4 8 1 3 3
输入解题思路,AI测评打分。不知道怎么写?