CCFCSP 201703-1 分蛋糕(100score)

题目来源于CCFCSP


在这里插入图片描述


思路解答

按照序号依次读取,当累计的蛋糕量大于等于k时,即满足一位小朋友的分量,依次计算即可。当然最后需要注意的是,最后剩下的不足K的分量,也可以分给一个小朋友,尽管分量不足,但也要算上一人。


代码分析

//201703-1分蛋糕

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    
    
	int n, k;
	cin >> n >> k;
	int num;
	vector<int> weight;
	//总量读入
	for (int i = 0; i < n; ++i) {
    
    
		cin >> num;
		weight.push_back(num);
	}
	int i = 0, cnt = 0, temp_w = 0;
	while (i < n) {
    
    
		if (temp_w < k) {
    
    
			temp_w += weight[i];
		}
		else {
    
    
			cnt++;
			temp_w = weight[i];
		}
		i++;
	}
	if (temp_w > 0)
		cnt++;
	cout << cnt << endl;
	return 0;
}

测试结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44116998/article/details/108475069