构造题记录

思路:本题要求构造一个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]<<" ";
    }
    
    
}
相关推荐
dog shit11 分钟前
蓝桥杯第十一届省赛C++B组真题解析
算法
Swift社区29 分钟前
LeetCode 252 会议室题全解析:Swift 实现 + 场景还原
算法·leetcode·swift
要下雨了吗30 分钟前
指针数组 vs 数组指针
c语言·数据结构·c++·算法·visual studio
emmmmXxxy40 分钟前
leetcode刷题-单调栈
算法·leetcode·职场和发展
MiyamiKK571 小时前
leetcode_数组 189. 轮转数组
python·算法·leetcode·职场和发展
武装头脑ing1 小时前
递增子序列
数据结构·算法
QQ_7781329741 小时前
模运算:数字世界中的时空扭曲法则——从密码学到量子计算的跨维演绎
算法
qq_433554541 小时前
C++ 蓝桥云课代码练习
c++·算法·图论
森焱森2 小时前
单片机FreeRTOSTickless低功耗模式应用示例
c语言·网络·单片机·算法·架构
sml259(劳改版)2 小时前
(PTA) L2-011-L2-015
数据结构·算法