请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。
第二行包含n个正整数,依次表示a1, a2, …, an。
2 6 5 6 3 5
#include <iostream>
using namespace std;
int main() {
int n, k, num=0, sum=0;
cin>>n>>k;
int *a = new int[n+1];
//切蛋糕(赋予每块蛋糕一个重量为a[i])
for(int i=0;i<n;i++) {
cin>>a[i];
}
//分蛋糕
for(int i=0;i<n;i++) {
sum = a[i]; //将当前的一块蛋糕的重量赋给sum
if(i+1 == n) { //判断当前蛋糕是否为最后一块
num += 1; //如果是最后一块蛋糕,则num+1
} else { //如果不是最后一块蛋糕,则按规则继续分配
while(sum < k) { //若当前分配给朋友的蛋糕重量小于k
++i;
sum += a[i]; //则继续拿下一块蛋糕给这个朋友
} //直到这个朋友拿到的蛋糕重量>k,结束while循环
num += 1; //已分配的朋友数量num+1
}
}
cout<<num;
return 0;
}
727



被折叠的 条评论
为什么被折叠?



