Next Greater

QUESTION

Given an array, print the Next Greater Element (NGE) for every element. The Next greater Element for an element x is the first greater element on the right side of x in array. Elements for which no greater element exist, consider next greater element as -1.\n\nExamples:\na) For any array, rightmost element always has next greater element as -1.\nb) For an array which is sorted in decreasing order, all elements have next greater element as -1.\nc) For the input array [4, 5, 2, 25}, the next greater elements for each element are as follows.\n\nElement NGE\n4 –> 5\n5 –> 25\n2 –> 25\n25 –> -1\n\nINPUT:\nThe first line of input contains size of the array\nThe second line contains of the elements of the array.\n\nOutput:\nThe output contains resultant array.

“TESTCASE_1”: “4\n4 5 2 25\n###—###SEPERATOR—###—\n5\n25\n25\n-1”, “TESTCASE_2”: “4\n13 7 6 12\n###—###SEPERATOR—###—\n-1\n12\n12\n-1”, “TESTCASE_3”: “6\n1 8 13 4 89 2\n###—###SEPERATOR—###—\n8\n13\n89\n89\n-1\n-1”, “TESTCASE_4”: “0\n###—###SEPERATOR—###—\n0”, “TESTCASE_5”: “0\n###—###SEPERATOR—###—\n0

ANSWER

#include <iostream>
using namespace std;
int main()
{
  int n,i,j,a[15],g[15];
  cin>>n;
  for(i=0;i<n;i++)
    cin>>a[i];
  for(i=0;i<n;i++)
  {
   int flag=0;
    for(j=i+1;j<n;j++){
      if(a[j]>a[i])
      {
        flag=1;
        break;
      }
    }
    if(flag==1)
      cout<<a[j]<<endl;
    else
      cout<<-1<<endl;
    }
  
	return 0;
}
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
CHP Adblock Detector Plugin | Codehelppro