下一个更大元素

题目描述

给定一个数组, 找到每个元素右边第一个比它大的元素。

输入

第一行一个整数n,表示数组大小,

接下来一行n个正整数,表示数组中的元素值。


数据范围:n<=100000, 数组中元素值不超过1000000000。

输出

输出一行n个整数

表示每个元素右边第一个比它大的元素,如果没有输出-1。


样例输入

4
2 1 3 4

样例输出

3 3 4 -1
#include<iostream>
using namespace std;
int main()
{
   int b=0,n;
   cin>>n;
  int *a=new int[n];
   for(int i=0;i<n;i++ )
      cin>>a[i];
   for(int i=0;i<n-1;i++)
   {
      for(int j=i+1;j<n;j++)
      {
            if(a[j]>a[i])
                 {
            cout<<a[j]<<" ";
          break;
                 }
              else  if(j==n-1)
                  cout<<-1<<" ";

      }
   }
   cout<<-1;
   delete a;
   a=NULL;
      return 0;
}

猜你喜欢

转载自blog.csdn.net/i_silence/article/details/80484174