Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #include <stdio.h>
- using namespace std;
- int main()
- {
- int n, m;
- scanf("%d", &n);
- long long x;
- vector<pair<long long, int> > v;
- for(int i=0; i < n; i++)
- {
- scanf("%d", &x);
- v.push_back(make_pair(x, 0));
- }
- scanf("%d", &m);
- for(int i=0; i < m; i++)
- {
- scanf("%d", &x);
- v.push_back(make_pair(x, 1));
- }
- //for(int i=0; i<v.size();i++) cout << v[i].first << " " << v[i].second << endl;
- sort(v.begin(), v.end());
- // for(int i=0; i<v.size();i++) cout << v[i].first << " " << v[i].second << endl;
- long long a=0, b=0, best=-(1<<31), besta=-(1<<31), bestb=-(1<<31), nbest=-(1<<31);
- //cout << "best " << best << endl;
- //cout << best << endl;
- for(int i=0;i < v.size(); )
- {
- nbest = ( (n-a)*3 + a*2 ) - ( (m - b) * 3 + b * 2 );
- //cout << "nbest = " << nbest << endl;
- //cout << "nbest " << nbest << endl;
- if((best < nbest) || (best == nbest && besta < (n-a)*3 + a*2 ) )
- {
- besta = (n - a)*3 + a*2;
- best = nbest;
- bestb = (m - b) * 3 + b * 2;
- // cout << "ZMENA " << best << " " << besta << " " << bestb << endl;
- }
- int k = 0;
- //for(;v[i].first == v[i+1].first && i < n + m - 1; i++)
- if(v[i].first > i)
- {
- if(v[i].second == 0)
- a++;
- else
- b++;
- k++;
- }
- i++;
- }
- nbest = n*2 - m*2;
- //cout << "nbest = " << nbest << endl;
- if((best < nbest) || (best == nbest && besta < (n-a)*3 + a*2 ) )
- {
- besta = (n - a)*3 + a*2;
- best = nbest;
- bestb = (m - b) * 3 + b * 2;
- //cout << "ZMENA " << best << " " << besta << " " << bestb << endl;
- }
- cout << besta << ":" << bestb << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement