# HackerEarth Erasing an array problem solution

In this HackerEarth Erasing an Array problem solution you are given a binary array A of N elements. The array consists of 0's and 1's. You can perform the following operations as many times as possible:
1. Select a subarray starting from the first index that is inversion-free and delete it.
2. Determine the minimum number of operations to delete the entire array.
Inversion free: There are no two indices i and j in array A such that (i < j) and (Ai > Aj).
Subarray: A subarray is an array obtained after deleting some elements from the beginning (prefix) possibly 0 and deleting some elements from the end (suffix) possibly 0.

## HackerEarth Erasing an array problem solution.

`#include<bits/stdc++.h>using namespace std;#define FIO ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)#define mod 1000000007#define endl "\n"#define test ll t; cin>>t; while(t--)typedef long long int ll;int main() {    FIO;    test    {       ll n; cin>>n;       vector<ll>a(n);       for(auto &it:a) cin>>it;       int ans=0,ind=0;       while(ind<n){           ans++;           while(ind<n && a[ind]==0){               ind++;           }           while(ind<n && a[ind]==1){               ind++;           }       }       cout<<ans<<endl;    }    return 0;}`

### second solution

`t = int(input())while t > 0:    t -= 1    n = int(input())    a = list(map(int, input().split()))    ans = 1    for i in range(n - 1):        ans += a[i] - a[i + 1] == 1    print(ans)`