This is codechef beginner problem. How I can make it efficient, It is taking 2.09 sec while time limit is 2.0764 secs.
Problem is: 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.
https://www.codechef.com/problems/PALIN
#include<iostream>
using namespace std;
long int reverse_num(long int n){
long int reversenumber=0,remainder1;
while(n != 0){
remainder1 = n%10;
reversenumber = (reversenumber*10)+remainder1;
n /= 10;
}
return reversenumber;
}
int main(){
int T;
cin>>T;
while(T--){
long int n,reversenum;
bool chek;
cin>>n;
n = n+1;
bool flag = false;
while(!flag){
reversenum = reverse_num(n);
(n == reversenum) ? flag = true : flag = false;
n++;
}
cout<<reversenum;
}
return 0;
}
time-limit-exceeded
you can add the corresponding tag to your question. \$\endgroup\$long int
??? \$\endgroup\$