思路:本题要求构造一个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]<<" ";}}