PALIN - The Next Palindrome

A positive integer is called a palindrome if its representation in the decimal system is the same when read from left to right and from right to left. For a given positive integer K of not more than 1000000 digits, write the value of the smallest palindrome larger than K to output. Numbers are always displayed without leading zeros.


The first line contains integer t, the number of test cases. Integers K are given in the next t lines.


For each K, output the smallest palindrome larger than K.




Warning: large Input/Output data, be careful with certain languages

hide comments
slash_1: 2021-04-14 19:55:48

why the next palindrome of 0003 is 0110 and not 4 ?

rushi2001: 2021-03-22 21:59:34

Started On 12 am
AC at 2.29 am

wowthecoder: 2021-03-20 08:39:44

AC with Java after 5-6 TLEs...
Use BufferedReader and BufferedWriter for fast I/O, use strings and char instead of int array. DON'T convert the input number to BigInteger as it will slow your program down.
Learnt quite a bit... Good luck!

adrian_mole: 2021-02-22 01:56:55

The challenge clearly states: "Numbers are always displayed without leading zeros." So, how does 0003 give 0110 (one leading zero) not 4? And how does 0012100 give 0013100 (two leading zeroes) rather than 12121?

makhan_28: 2021-02-20 10:26:58

Good Problem!!
My advise to approach this problem is take some sample different cases, analyse them and try to come up with its implementation.
Thanks for different test cases It helped a lot!! :)

rahultwr_ankur: 2021-02-19 14:47:33

After 2 hour struggling ..finally got AC..
thanks to shreyas_07 for helped a lot

Last edit: 2021-02-19 14:47:55
wille_25: 2021-01-08 20:58:32

Finally AC --- (0.02s)
The Input given by shreyas_07 is not working correctly (infinite loop occurs in c++),
But it Still Got AC ;

sher_007: 2021-01-07 11:27:04

I used string to take input as the input can be as large as 10^6 digits and then i stored it in an int array.
It is giving correct answers but I got TLE on the problem. Any suggestions as to how approach this problem in much optimized way??

satyam552000: 2021-01-07 09:12:22

check for 9 and 99 and use strings it worked for me

shreyasz_07: 2020-11-23 17:45:18

I'm getting tle

Last edit: 2020-11-23 17:47:56

Added by:adrian
Time limit:2s-9s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6

Problem's scores 1 vote

Concept difficulty
Concept difficulty 37%
Implementation difficulty
Implementation difficulty 50%
458 16