JNEXT - Just Next !!!

DevG likes too much fun to do with numbers. Once his friend Arya came and gave him a challenge, he gave DevG an array of digits which is forming a number currently (will be called as given number). DevG was challanged to find the just next greater number which can be formed using digits of given number. Now DevG needs your help to find that just next greater number and win the challenge.


The first line have t number of test cases (1 <= t <= 100). In next 2*t lines for each test case first there is number n (1 <= n <= 1000000) which denotes the number of digits in given number and next line contains n digits of given number separated by space.


Print the just next greater number if possible else print -1 in one line for each test case.

Note : There will be no test case which contains zero in starting digits of any given number.


1 5 4 8 3
1 4 7 4 5 8 4 1 2 6


hide comments
MAYANK NARULA: 2015-10-31 15:05:26

Solving this problem w/o stl is pretty cool thing though..

sujit yadav: 2015-09-21 18:54:12

why this question has green rating ? extremely easy using c++ stl :O

loverboy: 2015-09-11 09:42:59

got A.C. in first attempt ,really easy use STL In c++

dwij28: 2015-08-31 14:59:30

AC :) First I assumed that there will always be a next lexographical permutation possible, and didn't check for the -1 condition. Got an NZEC for that.. :| Always read the question properly..

ASHUTOSH DWIVEDI: 2015-07-13 18:32:16

direct function in STL of CPP......

kp: 2015-06-13 10:54:36

next lexicographic permutation.. 25th on spoj

deepak garg: 2015-01-15 09:16:01

Nice one!!

Added by:! include(L.ppt)
Time limit:1.297s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:MNNIT OPC 31-08-2012