➤ Problem Link : 546C. Soldier and Cards
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int k1,k2,x,y; cin>>k1; queue<int> first; for(int i=1;i<=k1;i++) { cin>>x; first.push(x); } cin>>k2; queue<int> second; for(int i=1;i<=k2;i++) { cin>>x; second.push(x); } int ans=0; while(!first.empty() && !second.empty() && ans<100000) { x=first.front(); first.pop(); y=second.front(); second.pop(); ans++; if(x<y) { second.push(x); second.push(y); } else { first.push(y); first.push(x); } } if(ans>=100000) cout<<"-1"; else { if(first.empty()) { cout<<ans<<" 2"; } else cout<<ans<<" 1"; } }
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!!