My issue
Explain your approach
My code
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
bool flag = true;
int maxi=0;
for (int i = 0; i < n - 1; i++) {
if (a[i] > a[i + 1]) {
maxi=max(maxi,(a[i]-a[i+1]));
}
for(int i=0;i<n;i++)
{
if(a[i]>a[i+1])
{
a[i+1]=a[i+1]+maxi;
}
}
for(int i=0;i<n-1;i=i+2)
{
if(a[i]>a[i+1])
{
flag=0;
}
}
if (flag) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
Problem Link: Disjoint Non-Decreasing Array Practice Coding Problem - CodeChef