➤ Problem Link : 1291A. Even But Not Even
✅ C++ Solution :
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
string s;
cin>>s;
ll sum=0;
ll arr[n];
for(int i=0;i<n;i++)
{
sum+=s[i]-'0';
arr[i]=sum;
}
if((s[n-1]-'0')%2==1 && sum%2==0)
{
cout<<s<<"\n";
continue;
}
int i=n-1;
while(i>=0 && (s[i]-'0')%2==0)
i--;
if(i<=0)
{
cout<<"-1\n";
continue;
}
s=s.substr(0,i+1);
n=s.length();
if(arr[n-1]%2==0)
{
cout<<s<<"\n";
continue;
}
i=n-2;
while(i>=0 && (s[i]-'0')%2==0)
i--;
if(i<0)
{
cout<<"-1\n";
continue;
}
string t=s.substr(0,i);
string q=s.substr(i+1,n-1-i);
cout<<t+q<<"\n";
}
}
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
