i am not understanding what is wrong in my code.
void solve()
{
int n;
string s;
cin>>n>>s;
string curr = “”;
bool flag = 1;
for(int i = 0; i<n; i++)
{
int remlen = n - i;
bool copied = 0;
if(curr.length() > 0 && remlen >= curr.length())
{
bool now = 1;
for(int j = 0; j<curr.length(); j++)
{
if(s[i + j] != curr[j])
{
if(flag)
{
now = 0;
break;
}
else
{
NO;
return;
}
}
}
if(now)
{
curr += curr;
i = (curr.length()) - 1;
copied = 1;
flag = 1;
}
}
else if(!flag)
{
NO;
return;
}
if(!copied)
if(flag)
{
curr += s[i];
flag = 0;
}
else
{
NO;
return;
}
}
YES;
}