【CCFCSP】201703-1 分蛋糕

试题编号: 201703-1
试题名称: 分蛋糕
时间限制: 1.0s
内存限制: 256.0MB

小明每次分给他朋友的蛋糕要么是大于等于k,要么是小明手上没有更多的蛋糕。
依次读入蛋糕重量,因为小明总是选择编号小的蛋糕分给朋友,所以用一个left整数来保存小明手上剩余的蛋糕总重量。当手中的蛋糕重量大于等于k,就分给一个朋友,手上就没有蛋糕了,left置0。注意读入所有蛋糕后,如果left值不为零,仍然可以把这一份蛋糕分给一个朋友,因为题目中说“直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k”。

int main() {
    int n, k, t, left = 0, ans = 0; //ans表示分到蛋糕的朋友数,left表示小明手上剩余的蛋糕重量
    cin >> n >> k;
    while (n--) {
        cin >> t;
        left += t;
        if (left >= k) {
            left = 0;//重量超过k就分给一个同学
            ans++;
        }
    }
    if (left)//如果手上蛋糕还有剩余仍可以再分给一个同学
        ans++;
    cout << ans << endl;
    return 0;
}

你可能感兴趣的:(CCFCSP)