构造题记录

思路:本题要求构造一个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]<<" ";
    }
    
    
}
相关推荐
Hello.Reader2 分钟前
算法基础(九)——循环不变式如何证明一个算法是正确的
java·开发语言·算法
wuweijianlove5 分钟前
算法稳定性分析中的输入扰动建模的技术7
算法
MATLAB代码顾问12 分钟前
粒子群优化算法(PSO)原理与Python高级实现
开发语言·python·算法
Epiphany.55614 分钟前
连通块的遍历
c++·算法·蓝桥杯
博界IT精灵23 分钟前
图的存储结构(哈喜老师版本)
数据结构·考研
alxraves24 分钟前
超声诊断图像的关键算法概述
算法·安全·健康医疗·制造·信号处理
mask哥29 分钟前
15种算法模式java实现详解
java·算法·力扣
若尘79730 分钟前
数学idea的重构
算法·职场和发展·机器人
思茂信息30 分钟前
CST可重构雷达吸波器设计与仿真
网络·算法·平面·智能手机·重构·cst·电磁仿
游乐码31 分钟前
c#插入排序
数据结构·算法·排序算法