9752 2024. 03. 06 12:57:42 FulopMate Szörnyek cpp17 Elfogadva 100/100 37ms 19164 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

#define MAX(a, b) (a) = max((a), (b))
#define MIN(a, b) (a) = min((a), (b))
#define all(a) (a).begin(), (a).end()
#define sortedpair(a, b) {min((a), (b)), max((a), (b))}

const ll MOD = 1e9+7;

void solve(){
    ll n, p; cin>>n>>p;
    vector<pair<ll, ll>> v;
    for(int i = 0; i < n; i++){
        ll a, b; cin>>a>>b;
        v.push_back({(a+p-1)/p, b});
    }
    sort(all(v), [](const pair<ll, ll> &a, const pair<ll, ll> &b){
        return a.first*b.second < b.first*a.second;
    });
    ll ans = 0;
    ll time = 0;
    for(auto&i : v){
        time += i.first;
        ans += (time-1)*i.second;
    }
    cout<<ans<<endl;
}

int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);
    int _t = 1;
    // cin >> _t;
    while (_t--) {
        solve();
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1860 KiB
2 Elfogadva 3ms 2220 KiB
subtask2 13/13
3 Elfogadva 3ms 2368 KiB
4 Elfogadva 3ms 2408 KiB
5 Elfogadva 3ms 2532 KiB
6 Elfogadva 3ms 2628 KiB
subtask3 22/22
7 Elfogadva 3ms 3008 KiB
8 Elfogadva 3ms 3088 KiB
9 Elfogadva 3ms 3088 KiB
10 Elfogadva 2ms 3156 KiB
11 Elfogadva 2ms 3168 KiB
12 Elfogadva 3ms 3244 KiB
13 Elfogadva 3ms 3376 KiB
14 Elfogadva 3ms 3592 KiB
subtask4 65/65
15 Elfogadva 37ms 8684 KiB
16 Elfogadva 30ms 9904 KiB
17 Elfogadva 32ms 10848 KiB
18 Elfogadva 37ms 12272 KiB
19 Elfogadva 37ms 13552 KiB
20 Elfogadva 37ms 14580 KiB
21 Elfogadva 37ms 15888 KiB
22 Elfogadva 37ms 16920 KiB
23 Elfogadva 34ms 17976 KiB
24 Elfogadva 35ms 19164 KiB