构造题记录

思路:本题要求构造一个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]<<" ";
    }
    
    
}
相关推荐
VekiSon4 分钟前
数据结构与算法——队列
数据结构
机器学习之心7 分钟前
MATLAB基于改进蜣螂优化算法的磨削参数低碳优化
算法·matlab·基于改进蜣螂优化算法·磨削参数低碳优化
say_fall14 分钟前
C语言编程实战:每日一题:有效的括号
c语言·开发语言·数据结构·
IT_Octopus15 分钟前
算法题:力扣 热题100道 中等难度128. 最长连续序列
算法·leetcode
浅川.2517 分钟前
xtuoj 方程
算法
Swift社区19 分钟前
LeetCode 441 - 排列硬币
算法·leetcode·职场和发展
TL滕22 分钟前
从0开始学算法——第七天(快速排序算法练习)
笔记·学习·算法·排序算法
MicroTech202523 分钟前
MLGO微算法科技 D-S融合算法技术发布,助力脑机接口迈向实用化
大数据·科技·算法
Q741_14725 分钟前
C++ 栈 模拟 力扣 844. 比较含退格的字符串 题解 每日一题
c++·算法·leetcode·模拟·
CoderYanger32 分钟前
动态规划算法-简单多状态dp问题:14.粉刷房子
开发语言·算法·leetcode·动态规划·1024程序员节