1 条题解

  • 0
    @ 2025-8-24 22:33:05

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar lanretE
    if you can

    搬运于2025-08-24 22:33:05,当前版本为作者最后更新于2021-08-09 13:06:38,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    一道简单的贪心题。

    大致思路:如果空隙(连续 0 的长度)超过 dd 则增加一台电话,不然不加。

    实现:

    定义 blkblk 记录当前空隙长度,读到 0 则加 1,读到 1 说明空隙结束,需要增加的电话数量即为 blkd\left\lfloor\dfrac{blk}{d}\right\rfloor

    代码如下:

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int n,d;
    	cin>>n>>d;
    	int blk=0,ans=0;
    	while(n--){
    		bool x; cin>>x;
    		if(x){
    			ans+=blk/d;
    			blk=0;
    		}
    		else blk++;
    	} 
    	cout<<ans<<endl;
    	return 0;
    } 
    
    • 1

    信息

    ID
    7073
    时间
    1000ms
    内存
    64MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者