斓少摘苹果 贪心
Source
第七届ACM趣味程序设计竞赛第二场(正式赛) C
My Solution
第一想法是模拟,应该超时
只有最后一次可能是不到m个苹果
其它时候都是每次m个
所以总数sum,次数可能为(sum-1)/m+1 这样的话如果搞好sum%m==0,也符合公式, 把它分开来讨论也可以
且一颗树最多maxx个苹果,所以最少要maxx次
则答案是max(maxx ,
(sum-1)/m+1)
此外注意这句话
第二行输入n个数,第i个数Fi(0≤Fi≤10^6)代表这一棵树上一共有多少个苹果
自从Flying Chess 的题目被坑了以后,临界值是格外的注意啊,这里Fi全部为0的时候是特殊的情况,且可以出现,次数答案为 0
#include
#include
#include
#define LOCAL
using namespace std;
int main()
{
#ifdef LOCAL
freopen("a.txt","r",stdin);
#endif // LOCAL
int N,M;
long long sum=0,maxx=0,a;
scanf("%d%d",&N,&M);
while(N--){
scanf("%lld",&a);
sum+=a;
maxx=max(a,maxx);
}
if(sum==0) printf("0");
else printf("%lld",max(maxx,(sum-1)/M+1));
return 0;
}
非特殊说明,本站所有文章均为博主原创,未经许可不得转载。
https://www.prolightsfxjh.com/
Thank you!
------from ProLightsfx
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
如经许可后转载,请注明出处:https://prolightsfxjh.com/article/uestc-1255/
共有 0 条评论