In this HackerEarth Non-decreasing arrays problem solution You are given an array A consisting of N positive integers. Your task is to find an array B of length N.


HackerEarth Non-decreasing arrays problem solution


HackerEarth Non-decreasing arrays problem solution.

#include <bits/stdc++.h>
using namespace std;

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t;
    cin >> t;
    while(t--){
        int n;
        cin >> n;
        vector<long long> arr(n);
        int i;
        for(i = 0; i < n ; i++)
            cin >> arr[i];
        cout << arr[0]; // b[i] = arr[i]*ceil(b[i-1]/arr[i])
        for(i = 1; i < n ; i++){
            arr[i] = arr[i]*((arr[i-1] + arr[i] - 1)/arr[i]);
            cout << " " << arr[i];
        }
        cout << '\n';
    }
}

Second solution

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

const int MAX_N = 2.5e5 + 14;

int main() {
    ios::sync_with_stdio(0), cin.tie(0);
    int t;
    cin >> t;
    while (t--) {
        int n;
        cin >> n;
        ll last = 1;
        for (int i = 0; i < n; ++i) {
            int a;
            cin >> a;
            last = (last + a - 1) / a * a;
            cout << last << ' ';
        }
        cout << '\n';
    }
}