浙江广厦大学第七届程序设计比赛 A-种植所有植物所需时间

34 阅读1分钟

A-种植所有植物所需时间_浙江广厦大学第七届程序设计比赛 (nowcoder.com)

我是这样写的,没通过:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int sum; 
signed main(){
	cin.tie(nullptr)->sync_with_stdio(false);
	
	int n;cin>>n;
	for(int i=0;i<n;i++) 
	{
		int x;cin>>x;
		sum+=x;
	}
	
	
    cout<<sum/50*5;

	return 0;
}

原因

没有考虑除法运算不一定会整除,可能会产生浮点数.因为题目要求结果为整数,如果出现了浮点数我们还需要向上取整

正解

#include<bits/stdc++.h>
using namespace std;
int sum; 
int main(){
	cin.tie(nullptr)->sync_with_stdio(false);
	
	int n;cin>>n;
	long long sum=0;
	for(int i=0;i<n;i++) 
	{
		int x;cin>>x;
		sum+=x;
	}
	
	long long ans=0;

	ans=(long long) (ceil(sum/50.0))*5;
	
    printf("%lld\n",ans);
return 0;
}