Advertisement
Guest User

493C

a guest
Dec 24th, 2014
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.91 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #include <stdio.h>
  3.  
  4. using namespace std;
  5.  
  6.  
  7.  
  8. int main()
  9. {
  10.     int n, m;
  11.     scanf("%d", &n);
  12.     long long x;
  13.     vector<pair<long long, int> > v;
  14.     for(int i=0; i < n; i++)
  15.     {
  16.         scanf("%d", &x);
  17.         v.push_back(make_pair(x, 0));
  18.     }
  19.  
  20.     scanf("%d", &m);
  21.     for(int i=0; i < m; i++)
  22.     {
  23.         scanf("%d", &x);
  24.         v.push_back(make_pair(x, 1));
  25.     }
  26.     //for(int i=0; i<v.size();i++) cout << v[i].first << " " << v[i].second << endl;
  27.     sort(v.begin(), v.end());
  28.    // for(int i=0; i<v.size();i++) cout << v[i].first << " " << v[i].second << endl;
  29.     long long a=0, b=0, best=-(1<<31), besta=-(1<<31), bestb=-(1<<31), nbest=-(1<<31);
  30.     //cout << "best " << best << endl;
  31.     //cout << best << endl;
  32.     for(int i=0;i < v.size(); )
  33.     {
  34.         nbest = ( (n-a)*3 + a*2 ) - ( (m - b) * 3 + b * 2 );
  35.         //cout << "nbest = " << nbest << endl;
  36.         //cout << "nbest " << nbest << endl;
  37.         if((best < nbest) || (best == nbest && besta < (n-a)*3 + a*2 ) )
  38.         {
  39.             besta = (n - a)*3 + a*2;
  40.             best = nbest;
  41.             bestb = (m - b) * 3 + b * 2;
  42.              // cout << "ZMENA " << best << " " << besta << " " << bestb << endl;
  43.         }
  44.         int k = 0;
  45.         //for(;v[i].first == v[i+1].first && i < n + m - 1; i++)
  46.         if(v[i].first > i)
  47.         {
  48.             if(v[i].second == 0)
  49.                 a++;
  50.             else
  51.                 b++;
  52.             k++;
  53.         }
  54.         i++;
  55.     }
  56.     nbest = n*2 - m*2;
  57.     //cout << "nbest = " << nbest << endl;
  58.         if((best < nbest) || (best == nbest && besta < (n-a)*3 + a*2 ) )
  59.         {
  60.             besta = (n - a)*3 + a*2;
  61.             best = nbest;
  62.             bestb = (m - b) * 3 + b * 2;
  63.             //cout << "ZMENA " << best << " " << besta << " " << bestb << endl;
  64.         }
  65.     cout << besta << ":" << bestb << endl;
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement