NC14705. 良神吃点心
描述
输入描述
第1行输入两个整数n,m,代表点心数量和一次可以吃的总甜度上限。第2行输入n个整数,第i个整数代表第i个点心的甜度ai。数据保证:0<n≤100,0<ai≤100,m≥ai的最大值。
输出描述
输出一行,一个整数,代表良神吃的最少次数。
示例1
输入:
5 6 4 2 4 5 1
输出:
3
说明:
良神可以按照[4 2][4][5 1]的方式吃点心,最少需要3次吃完。示例2
输入:
5 6 6 6 6 6 6
输出:
5
说明:
良神可以按照[6][6][6][6][6]的方式吃点心,最少需要5次吃完。C++ 解法, 执行用时: 3ms, 内存消耗: 376K, 提交时间: 2021-05-30 17:55:29
#include<iostream> using namespace std; int main() { int m,n,i,a[100]; cin>>n>>m; for(i=0;i<n;i++) { cin>>a[i]; } int s=0,t=1; for(i=0;i<n;i++) { s+=a[i]; if(s>m) { s=a[i]; t++; } } cout<<t<<endl; }
Python3(3.5.2) 解法, 执行用时: 26ms, 内存消耗: 3560K, 提交时间: 2019-12-07 16:29:02
n,m=map(int,input().split()) a=list(map(int,input().split()[:n])) count,s=0,0 for i in range(n): if s+a[i]<=m: s+=a[i] else: count+=1 s=a[i] print(count+1)