➤ 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!!