题目描述
马里奥有很多银币,有一天他得到了一张魔法卡,只要使用这张魔法卡,就可以使得他的银币里面的最大的银币金额变得更大。如果他最大的银币是偶数的金额,可以直接翻倍;如果他最大的银币是奇数的金额,可以使得银币金额加1。 比如:假设马里奥存有的银币金额分别为5 7 8 1 4,那么最大的银币面值为8,只要使用魔法卡,银币的金额就会变为5 7 16 1 4; 再比如:假设马里奥存有的银币金额分别为5 7 9 1 4,那么最大的银币面值为9,只要使用魔法卡,银币的金额就会变为5 7 10 1 4; 已知马里奥众多的银币中,面额最大的银币只有1个,请你求出,马里奥使用魔法卡之后,他的银币金额分别是多少?
输入输出格式
输入
输入:两行,第一行是一个整数n代表马里奥有n个银币(n<=1000);第二行有n个整数,用空格隔开,代表马里奥每个银币的金额。
输出
输出:输出一行,n个整数,代表使用过魔法卡之后,马里奥的银币的金额,分别是多少。
样例
输入1
5
5 7 8 1 4
输出1
5 7 16 1 4
时间及空间限制
1s, 256MB.
//***wuhaotian***//
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[1000],n,i,max=0,maxb;
cin>>n;
for(i=0;i<=n-1;i++)
{
cin>>a[i];
if(a[i]>max)
{
max=a[i];
maxb=i;
}
}
if(a[maxb]%2==0)
{
a[maxb]=a[maxb]*2;
}
else
{
a[maxb]=a[maxb]+1;
}
for(i=0;i<=n-1;i++)
{
cout<<a[i]<<" ";
}
}