喵哈哈村的魔法考试 Round #10 (Div.2) A

喵哈哈村与哗啦啦村的大战(一)

发布时间: 2017年3月27日 09:13   时间限制: 1000ms   内存限制: 128M

喵哈哈村因为和哗啦啦村争夺稀有的水晶资源,展开了激烈的战斗!

喵哈哈村里面有n个战士,这些战士每个人一开始拥有a[i]的战斗力,现在每个战士可以被艾尔之光强化三次,每次强化有p的概率增加一点战斗力,反之会有(1-p)的概率降低一点战斗力,当然战斗力不可能降为负数。

现在问题来了,对于喵哈哈村的n个战士,他们强化三次之后,战斗力最高可以到达多少呢?最少可以到达多少呢?

本题包含若干组测试数据。
第一行一个整数n表示战士的数目。
第二行n个整数a[i],分别表示第i个战士的战斗力值。

满足 1<=n<=100 1<=a[i]<=100000

对于每组测试数据,输出最高战斗力和与最低战斗力和。

 复制
3
4 4 4
21 3

题意:这个题目还是比较简单的,最大情况的就是每个加上3,最小的情况就是每个减去3(注意一下,如果减去3之后小于0的话,只能减到0)。
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 
 5 int main(){
 6     ll a[10000];
 7     int n;
 8     while(cin>>n){
 9         ll Max=0, Min=0;
10         for(int i=0; i<n; i++){
11             cin>>a[i];
12             Max=Max+(a[i]+3);
13             if(a[i]-3>=0){
14                 Min=Min+(a[i]-3);    //或者这里直接改成 Min=max(0, a[i]-3);
15             }else{
16                 Min=Min;
17             }
18         }
19         cout<<Max<<" "<<Min<<endl;    
20     }
21     return 0;
22 } 
原文地址:https://www.cnblogs.com/ledoc/p/6648927.html