1 条题解
-
0
自动搬运
来自洛谷,原作者为

Blue_wonders
即使只是片刻的火花,也能在仰望黑夜的人心中留下久久不灭的美丽光芒。搬运于
2025-08-24 21:41:41,当前版本为作者最后更新于2019-03-15 19:14:43,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
AC,附详细解释
这个题解也是我RE#19后看了下大佬的代码,然后改进了自己的,也感谢下讨论区的大佬
这个题#19 特别大,RE了好几遍,TLE了好几遍
cin>>,cout<<不能用,RE的可以换一换输入输出思路
模拟吧,详解在注释,代码不长,就不拿出来单独解思路了AC代码
#include<bits/stdc++.h> using namespace std; int n,m,k,a,o; long long s=0; int main(){ scanf("%d%d%d",&n,&m,&k);//输入,要用scanf,不然#19 RE for(int i=1;i<=n;i++){//对于每一个物品都判断一次 scanf("%d",&a);//同样 if(o+a>m){//如果这个加上上一个剩余的长度最大等待长度 s++;//这一秒不能放,所以让机器先处理一次,s++进入下一秒 //在处理的这一秒会把之前剩余的处理完(因为后面是%运算,所以剩下一定系<机器处理一秒的) o=a;//剩余的没有了,把新的杆子放到等待处 } else o+=a;//如果这个杆子加上剩余的不大于等待的,就一块算 s+=o/k;//时间加上机器最大处理的时间 o%=k;//o记录剩下的有多长(o一定小于机器一秒处理的长度) } if(o!=0)s++;//最后如果o还有数,就得画上一秒去处理剩余的 printf("%lld\n",s);//输出 return 0; }感谢大家能看我的题解!~
- 1
信息
- ID
- 1833
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者