ronith
10/24/2018 - 6:53 AM

Longest increasing subarray

Algorithm:

lenOfLongIncSubArr(arr, n) Declare max = 1, len = 1 for i = 1 to n-1 if arr[i] > arr[i-1] len++ else if max < len max = len len = 1 if max < len max = len return max

//https://www.geeksforgeeks.org/longest-increasing-subarray/
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin>>n;
    int a[n];
    for (int i=0;i<n;i++)
        cin>> a[i];

    int gmax=1, cmax= 1, m= a[0], mIndex= 0;
    for (int i=1;i<n;i++) {
        if (a[i]>m) {
            cmax++;
            if (gmax< cmax) {
                gmax= cmax;
                mIndex= i-gmax+1;
            }
        }
        else
            cmax= 1;
        m= a[i];
    }
    for (int i=mIndex; i< mIndex+gmax;i++)
        cout<< a[i]<< " ";
    cout<< "\n";
    cout<< gmax;
}