构造题记录

思路:本题要求构造一个a和b数组相加为不递减序列,并且b数组的极差为最小的b数组。

可以通过遍历a数组并且每次更新最大值,并使得b数组为这个·最大值和当前a值的差。

复制代码
#include <bits/stdc++.h>
using namespace std;
#define int long long 
int a[200010];
signed main()
{
    int n;
    cin>>n;
    for (int i=1;i<=n;i++){
        cin>>a[i];
    }
    int maxn=a[1];
    for (int i=1;i<=n;i++){
        maxn=max(maxn,a[i]);
        cout<<maxn-a[i]<<" ";
    }
    
    
}
相关推荐
迷途之人不知返1 小时前
数据结构之,栈与队列
数据结构
MATLAB代码顾问1 小时前
多种时间序列预测算法的MATLAB实现
开发语言·算法·matlab
高山上有一只小老虎2 小时前
字符串字符匹配
java·算法
愚润求学3 小时前
【动态规划】专题完结,题单汇总
算法·leetcode·动态规划
MOONICK3 小时前
数据结构——哈希表
数据结构·哈希算法·散列表
林太白3 小时前
跟着TRAE SOLO学习两大搜索
前端·算法
ghie90904 小时前
图像去雾算法详解与MATLAB实现
开发语言·算法·matlab
云泽8084 小时前
从三路快排到内省排序:探索工业级排序算法的演进
算法·排序算法
weixin_468466854 小时前
遗传算法求解TSP旅行商问题python代码实战
python·算法·算法优化·遗传算法·旅行商问题·智能优化·np问题
FMRbpm5 小时前
链表5--------删除
数据结构·c++·算法·链表·新手入门