Getting a TLE:( Output are correct. Please help.
#include<bits/stdc++.h>
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int palin(string);
int main()
{
int q=0;
scanf("%d",&q);
while(q--)
{
string s;
cin>>s;
do{
reverse(s.begin(),s.end());
int carry=1,temp=0;
for(int i=0;i<s.length();i++)
{
temp=(s[i]-'0')+carry;
carry=(temp>9)? 1: 0;
s[i]=temp%10+'0';
}
if(carry) s.push_back('1');
reverse(s.begin(),s.end());
}while(!palin(s));
for(int i=0;i<s.length();i++)
printf("%c",s[i]);
printf("\n");
s.clear();
}
}
int palin(string arr1)
{
int t=arr1.size();
for(int i=0;i<=arr1.length()/2;i++)
{
if(arr1[i]!=arr1[--t] && i!=t)
return 0;
}
return 1;
}