首页 > 代码库 > 喵哈哈村的魔法考试 Round #10 (Div.2) A

喵哈哈村的魔法考试 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

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

 复制
34 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 } 

 

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