976E - Well played - CodeForces Solution


greedy sortings *2100

Please click on ads to support us..

C++ Code:

#include <iostream>
#include <cmath>
#include <algorithm>
#include <fstream>

#define endl "\n"
#define fi first
#define se second

#define pb push_back
#define mp(x, y) make_pair(x, y)
#define sz(x) (int)x.size()

using namespace std;

typedef long long ll;
typedef pair<ll, ll> pii;

ll n, a, b, c, sum, s;
pii q[200000];

int main()
{
    cin >> n >> a >> b;
    c = b;

    for (int i = 0; i < n; i++) cin >> q[i].fi >> q[i].se;

    sort(q, q + n, [](pii a, pii b) { return a.fi - a.second > b.fi - b.se; });
    for (int i = 0; i < n; i++)
    {
        //cout << q[i].fi << " " << q[i].se << endl;
        if (b) sum += max(q[i].fi, q[i].se), b--;
        else sum += q[i].se;
    }

    b = c;
    if (b == 0) { cout << sum << endl; return 0; }
    s = sum;

    for (int i = 0; i < n; i++)
    {
        ll x = q[i].fi * pow(2, a);

        //cout << q[i].fi << " " << q[i].se << endl;
        //cout << (sum - max(q[c - 1].fi, q[c - 1].se)) + q[c - 1].se - q[i].se + x << endl;

        if (b)  s = max(s, (sum - max(q[i].fi, q[i].se)) + x), b--;
        else s = max(s, (sum - max(q[c - 1].fi, q[c - 1].se)) + q[c - 1].se - q[i].se + x);
    }

    cout << s << endl;

    return 0;
}


Comments

Submit
0 Comments
More Questions

1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort
1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm
732A - Buy a Shovel
1220C - Substring Game in the Lesson
452A - Eevee
1647B - Madoka and the Elegant Gift
1408A - Circle Coloring
766B - Mahmoud and a Triangle
1618C - Paint the Array
469A - I Wanna Be the Guy