1 条题解

  • 0
    @ 2025-8-24 23:06:55

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar K_yuxiang_rose
    洛谷一级保护废物。

    搬运于2025-08-24 23:06:55,当前版本为作者最后更新于2024-12-11 19:08:15,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    注:本题解代码和思路源自官方代码

    考虑维护两个变量,分别记录到现在为止能跳到的花的最小值和最大值,显然在区间 [minnk,maxn+k][minn-k,maxn+k] 的花都能被跳到,如果此时的花符合条件就输出 11 并更新最小值和最大值,否则输出 00

    #include<bits/stdc++.h>
    using namespace std;
    int a[200005];
    int main()
    {
    	int n,k; 
    	cin>>n>>k;
    	for(int i=1;i<=n;i++) cin>>a[i];
    	int minn=a[1],maxn=a[1];//一开始的最小值和最大值都是第一朵花的高度
    	cout<<"1 ";
    	for(int i=2;i<=n;i++)
    	{
    		if(minn-k<=a[i]&&a[i]<=maxn+k)
    		{
    			cout<<"1 ";
    			minn=min(minn,a[i]);
    			maxn=max(maxn,a[i]);
    		}//如果满足条件就更新
    		else cout<<"0 ";
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    11092
    时间
    5000ms
    内存
    500MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者