#include <bits/stdc++.h>
using namespace std;
//kaushik-04-12-2025
int main() {
cout<<"enter virus size ";
int n;
cin>>n;
cout<<"enter vector a ";
vector<int>a(n);
vector<int>b(n);
cout<<"enter vector b";
for(int i = 0 ; i< n ;i++){
cin>>a[i];
}
for(int i = 0 ; i< n ;i++){
cin>>b[i];
}
int goodbond=0, badbond=0;
unordered_map<int,int>mp1;
vector<pair<int,int>>goodvector;
priority_queue<pair<int,int>>pq;
for(int i = 0 ;i < n;i++){
if(a[i] == b[i]){
badbond++;
mp1[a[i]]++;
}
else{
goodbond++;
goodvector.push_back({a[i],b[i]});
}
}
for(auto i : mp1){
int type = i.first;
int count = i.second;
pq.push({count,type});
}
while(pq.size() > 1){ // FIXED CONDITION
auto t = pq.top(); pq.pop();
int x = t.first;
int y = t.second;
auto t2 = pq.top(); pq.pop(); // RENAME VARIABLE
int x1 = t2.first;
int y1 = t2.second;
pq.push({x - x1, y});
}
if(pq.empty()){
cout<<"All bad bond have been resolved"<<endl;
return 0;
}
auto t = pq.top();
int x = t.first;
int y = t.second;
if(x == 0){
cout<<"All bad bond have been resolved"<<endl;
return 0;
}
for(auto i : goodvector){
int gooda = i.first;
int goodb = i.second;
if(y != gooda && y != goodb){
x--;
}
if(x == 0){
cout<<"All bad bond have been resolved"<<endl;
return 0;
}
}
cout<<"All bad bond cannot have been resolved"<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovL2thdXNoaWstMDQtMTItMjAyNQppbnQgbWFpbigpIHsKICAgIGNvdXQ8PCJlbnRlciB2aXJ1cyBzaXplICI7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKY291dDw8ImVudGVyIHZlY3RvciBhICI7CiAgICB2ZWN0b3I8aW50PmEobik7CiAgICB2ZWN0b3I8aW50PmIobik7CmNvdXQ8PCJlbnRlciB2ZWN0b3IgYiI7CiAgICBmb3IoaW50IGkgPSAwIDsgaTwgbiA7aSsrKXsKICAgICAgICBjaW4+PmFbaV07CiAgICB9CiAgICBmb3IoaW50IGkgPSAwIDsgaTwgbiA7aSsrKXsKICAgICAgICBjaW4+PmJbaV07CiAgICB9CgogICAgaW50IGdvb2Rib25kPTAsIGJhZGJvbmQ9MDsKICAgIHVub3JkZXJlZF9tYXA8aW50LGludD5tcDE7CiAgICB2ZWN0b3I8cGFpcjxpbnQsaW50Pj5nb29kdmVjdG9yOwoKICAgIHByaW9yaXR5X3F1ZXVlPHBhaXI8aW50LGludD4+cHE7CgogICAgZm9yKGludCBpID0gMCA7aSA8IG47aSsrKXsKICAgICAgICBpZihhW2ldID09IGJbaV0pewogICAgICAgICAgICBiYWRib25kKys7CiAgICAgICAgICAgIG1wMVthW2ldXSsrOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBnb29kYm9uZCsrOwogICAgICAgICAgICBnb29kdmVjdG9yLnB1c2hfYmFjayh7YVtpXSxiW2ldfSk7CiAgICAgICAgfQogICAgfQoKICAgIGZvcihhdXRvIGkgOiBtcDEpewogICAgICAgIGludCB0eXBlID0gaS5maXJzdDsKICAgICAgICBpbnQgY291bnQgPSBpLnNlY29uZDsKICAgICAgICBwcS5wdXNoKHtjb3VudCx0eXBlfSk7CiAgICB9CgogICAgd2hpbGUocHEuc2l6ZSgpID4gMSl7ICAgICAgICAgICAgICAgLy8gRklYRUQgQ09ORElUSU9OCiAgICAgICAgYXV0byB0ID0gcHEudG9wKCk7IHBxLnBvcCgpOwogICAgICAgIGludCB4ID0gdC5maXJzdDsKICAgICAgICBpbnQgeSA9IHQuc2Vjb25kOwoKICAgICAgICBhdXRvIHQyID0gcHEudG9wKCk7IHBxLnBvcCgpOyAgIC8vIFJFTkFNRSBWQVJJQUJMRQogICAgICAgIGludCB4MSA9IHQyLmZpcnN0OwogICAgICAgIGludCB5MSA9IHQyLnNlY29uZDsKCiAgICAgICAgcHEucHVzaCh7eCAtIHgxLCB5fSk7CiAgICB9CgogICAgCiAgICBpZihwcS5lbXB0eSgpKXsKICAgICAgICBjb3V0PDwiQWxsIGJhZCBib25kIGhhdmUgYmVlbiByZXNvbHZlZCI8PGVuZGw7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgYXV0byB0ID0gcHEudG9wKCk7CiAgICBpbnQgeCA9IHQuZmlyc3Q7CiAgICBpbnQgeSA9IHQuc2Vjb25kOwoKICAgIGlmKHggPT0gMCl7CiAgICAgICAgY291dDw8IkFsbCBiYWQgYm9uZCBoYXZlIGJlZW4gcmVzb2x2ZWQiPDxlbmRsOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIGZvcihhdXRvIGkgOiBnb29kdmVjdG9yKXsKICAgICAgICBpbnQgZ29vZGEgPSBpLmZpcnN0OwogICAgICAgIGludCBnb29kYiA9IGkuc2Vjb25kOwoKICAgICAgICBpZih5ICE9IGdvb2RhICYmIHkgIT0gZ29vZGIpewogICAgICAgICAgICB4LS07CiAgICAgICAgfQogICAgICAgIGlmKHggPT0gMCl7CiAgICAgICAgICAgIGNvdXQ8PCJBbGwgYmFkIGJvbmQgaGF2ZSBiZWVuIHJlc29sdmVkIjw8ZW5kbDsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQ8PCJBbGwgYmFkIGJvbmQgY2Fubm90IGhhdmUgYmVlbiByZXNvbHZlZCI8PGVuZGw7CiAgICByZXR1cm4gMDsKfQo=