1 条题解

  • 0
    @ 2025-8-24 21:17:56

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar sfb1363II
    柱是顶天立地的柱,弦是崩断即换的弦。

    搬运于2025-08-24 21:17:55,当前版本为作者最后更新于2025-03-06 15:47:10,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    题目传送门

    Solution

    这题我的思路是贪心,首先在 ai=0a_i=0 的时候我们将 aia_i 设为 ai+11a_{i+1}-1。接下来我们扫一遍整个 aa 数组,如果 aiai1a_i \le a_{i-1} 或者 ai>109a_i>10^9 时,那么我们就输出 NO。如果每个数都符合条件,那么就输出 YES 和 aa 数组就行了。

    Code

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    const int N=1e5+10;
    int n,a[N];
    signed main(){
        ios::sync_with_stdio(0);
        cin.tie(0);cout.tie(0);
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>a[i];
            if(!a[i]) a[i]=a[i-1]+1;
        }
        for(int i=1;i<=n;i++)
            if(a[i-1]>=a[i]||a[i]>1000000000){
                cout<<"NO\n";
                return 0;
            }
        cout<<"YES\n";
        for(int i=1;i<=n;i++)
            cout<<a[i]<<" ";
        return 0;
    }
    
    • 1

    信息

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