#P1148. 送水订单

    ID: 160 传统题 1000ms 128MiB 尝试: 0 已通过: 0难度: 普及 ← 上一题 下一题 → 随机一题 上传者: 标签 模拟 贪心 前缀和 输入输出
显示设置

送水订单

题目描述

送水站按订单顺序给客户送水,一共有 nn 个订单,第 ii 个客户需要 aia_i 桶水。

送水车从水站出发,一次最多装 CC 桶水,送完这一趟必须回水站重新装水。为了不让客户久等,规定必须按订单编号的顺序配送:先送完第 11 个客户,才能送第 22 个,依此类推。同一趟车可以连续服务多个客户,只要这一趟送的桶数总和不超过 CC。

一个客户的订单不能拆到两趟里送(否则他就得跑两次水站)。

求最少出车多少趟。如果某个客户需要的桶数本身就超过 CC,输出 −1-1。

输入格式

第一行两个整数 n,Cn,C。

第二行 nn 个整数 aia_i。

输出格式

一行一个整数,表示最少出车趟数,或 −1-1。

输入输出样例 #1

输入 #1

5 10
4 6 3 8 2

输出 #1

3

说明

数据范围

  • 对于 100%100\% 的数据,1≤n≤2×1051\le n\le 2\times 10^5,1≤C≤1091\le C\le 10^9,1≤ai≤1091\le a_i\le 10^9。