专栏文章

题解:CF677B Vanya and Food Processor

CF677B题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miq9kruc
此快照首次捕获于
2025/12/04 01:11
3 个月前
此快照最后确认于
2025/12/04 01:11
3 个月前
查看原文
这是一道比较简单的数论题。

具体思路

因为 n100000n\le100000 所以我们可以依次把所有土豆放进去。具体做法如下:当处理第 ii 个土豆时,先让处理器将能够在不浪费处理空间的情况下处理,即总时间加上此时土豆高度除以处理土豆的速度,土豆的高度更新为原高度除以处理土豆的速度的余数。再判断能否将第 ii 个土豆装下,如果不行,将剩下所有的土豆也处理了。最后,把第 ii 个土豆装入。

代码,有注释

CPP
#include<iostream>
using namespace std;
long long a[1000005];
int si,ans;
int main(){
	long long n,h,k;
	cin>>n>>h>>k;//输入个数,高度上限,速度
	for(int i=1;i<=n;i++){
		cin>>a[i];
		if(a[i]+si>h){//放不进去
            si=0;
			ans++;
		}
		si+=a;
        ans+=si/k;
        si%=k;//更新高度
	}
	if(si){//如果未处理完再加一
        ans++;
    }
    cout<<ans;
    return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...