Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma optimize GCC("ofast")
- #include<bits/stdc++.h>
- #define ll long long
- #define pb push_back
- #define ld long double
- #define f first
- #define s second
- using namespace std;
- int main()
- {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- ll n, m[3];
- cin >> n >> m[0] >> m[1] >> m[2];
- unordered_map<ll, vector<ll>>mp;
- for(int i = 0; i < 3; i++)
- {
- for(int j = 0; j < m[i]; j++)
- {
- ll a;
- cin >> a;
- mp[a].pb(i);
- }
- }
- ll k1[3] = {0,0,0};
- for(int i = 1; i <= n; i++)
- {
- if(int(mp[i].size()) == 1)
- {
- k1[mp[i][0]]++;
- }
- }
- for(int i = 1; i <= n; i++)
- {
- ll mi = 1e9, no = -1;
- if(int(mp[i].size()) != 1) {
- for(auto to: mp[i] )
- {
- if(int(k1[to]) < mi) {mi = k1[to]; no = to; k1[to]++;}
- }
- }
- else no = mp[i][0];
- cout << no + 1 << ' ';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement