题解 | 小红的平滑值插值

小红的平滑值插值

https://www.nowcoder.com/practice/97f6b71b1df745cd9926eb861e2d89df

模拟即可

#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main()
{
    
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n, k;
    cin >> n >> k;
    vector<int> a(n + 1, 0);
    for (int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    int res = 0;
    bool r = false ; 
    for (int i = 2; i <= n; i++)
    {
        int c = abs(a[i] - a[i - 1]);
        if (k < c && c <= 2 * k)
        {
            res++;
            r = true ; 
        }
        else if (c > 2 * k)
        {
            int xs = c / k;
            if(c % k == 0)
            {
               xs = c / k - 1  ;
            }
            res += xs;
            r = true ; 
        }
        if(c == k)
        {
            r = true ; 
        }
    }
    if(!r)
    {
        res++ ; 
    }
    cout << res << endl;
    return 0;
}

全部评论

相关推荐

小浪_Coding:1. 个人技能排版太乱, 写的技术栈太浅了, 跟测试,自动化相关的太少; 2. 项目开发类的太简单没有亮点, 算法类的项目建议只放一个,最好有自动化,CI/CD, pipline的项目, 需要更换; 3.整体排版需要优化, SOOB打招呼都需要注意等.
我的简历长这样
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务