ccf c++ 分蛋糕算法
2017-08-27 21:16
232 查看
问题描述
#include <iostream>
using namespace std;
int main() {
int n,k;
int s =0,count = 0;
int a[1002];
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
s =s+ a[i];
if(s < k ){
if(i+1 >n){
count ++;
}
}else{
count ++;
s= 0;
}
}
cout<< count;
return 0;
}
试题编号: | 201703-1 |
试题名称: | 分蛋糕 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。 请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。 输入格式 输入的第一行包含了两个整数n, k,意义如上所述。 第二行包含n个正整数,依次表示a1, a2, …, an。 输出格式 输出一个整数,表示有多少个朋友分到了蛋糕。 样例输入 6 9 2 6 5 6 3 5 样例输出 3 样例说明 第一个朋友分到了前3块蛋糕,第二个朋友分到了第4、5块蛋糕,第三个朋友分到了最后一块蛋糕。 评测用例规模与约定 对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ k ≤ 10000,1 ≤ ai ≤ 1000。 |
using namespace std;
int main() {
int n,k;
int s =0,count = 0;
int a[1002];
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
s =s+ a[i];
if(s < k ){
if(i+1 >n){
count ++;
}
}else{
count ++;
s= 0;
}
}
cout<< count;
return 0;
}
相关文章推荐
- C++基础算法之 回文数
- 从零开始学C++之STL(八):函数对象、 函数对象与容器、函数对象与算法
- C++之归并排序(7)---《那些奇怪的算法》
- 一些C/C++的算法小程序
- 算法训练 最长字符串 C++
- C/C++中几种经典的垃圾回收算法
- [置顶] 信息学奥赛一本通(C++版) 第二部分 基础算法 第四章 递归算法
- 决策树C4.5分类算法的C++实现
- 4000 算法提高 ADV-115 c++_ch03_02
- C++学习笔记24——泛型算法之find
- (二叉树)谈一谈各类算法和数据结构的c++实现以及相关操作的复杂度(二)
- 双链表的定义、初始化、插入、删除,C++代码实现的算法
- 【算法和数据结构】二叉树的定义和封装(C++实现)
- 求图中最短路径算法之Dijkstra算法——C++实现并优化
- 冒泡算法之C++和Java实现
- C++实现图算法(二)
- PCL迭代最近点算法(ICP)的C++实现
- 双目立体匹配算法--SAD(C++\FPGA)
- 基于C++的农夫过河问题算法设计与实现方法
- 常用算法经典代码(C++版)