HASHRAD
my code
#include<bits/stdc++.h>
#define ll long long int
using namespace std;
string s;
int flag;
void calc(int pos,int n,int sum,string d,string& ans)
{
if(sum<0)
return;
if(pos==n)
{
if(sum==0 && d!=s)
{
ans=d;
flag=1;
}
return;
}
for(int i=0;i<=min(sum,25);i++)
{
char tmp='a'+i;
calc(pos+1,n,sum-i,d+tmp,ans);
if(flag==1)
return;
}
}
int main()
{
int t;
cin>>t;
while(t--)
{
cin>>s;
int n=s.size();
flag=0;
string ans(n,'z');
string bk=ans;
int hash=0;
for(int i=0;i<n;i++)
{
hash+=s[i]-'a';
}
string d;
calc(0,n,hash,d,ans);
if(ans==bk)
{
cout<<"-1\n";
continue;
}
cout<<hash<<" "<<ans<<endl;
}
return 0;
}
showing TLE can anyone help me to optimize the code??