#include <bits/stdc++.h>
using namespace std;
struct Szorny{
long long int elet, sebzes;
};
bool rendez(Szorny sz1, Szorny sz2){
double x1 = double(sz1.sebzes) / double(sz1.elet);
double x2 = double(sz2.sebzes) / double(sz2.elet);
return (x1 >= x2);
}
bool rendez1(Szorny sz1, Szorny sz2){
return (sz1.sebzes - sz1.elet >= sz2.sebzes - sz2.elet);
}
int main()
{
//ifstream cin("elod.txt");
long long int n, p, sum = 0, index = 1, megoldas = 0;
cin >> n >> p;
vector<Szorny> sz(n + 1);
for(long long int i = 1; i <= n; i++){
cin >> sz[i].elet >> sz[i].sebzes;
sum += sz[i].sebzes;
}
sort(sz.begin() + 1, sz.end(), rendez1);
sz[1].elet -= p;
if(sz[1].elet <= 0){
index++;
sum -= sz[1].sebzes;
}
while(index != n + 1){
megoldas += ceil(sz[index].elet / p) * sum;
sum -= sz[index].sebzes;
index++;
}
cout << megoldas;
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1844 KiB | ||||
2 | Hibás válasz | 3ms | 2096 KiB | ||||
subtask2 | 0/13 | ||||||
3 | Hibás válasz | 3ms | 2212 KiB | ||||
4 | Hibás válasz | 2ms | 2304 KiB | ||||
5 | Hibás válasz | 3ms | 2428 KiB | ||||
6 | Hibás válasz | 3ms | 2788 KiB | ||||
subtask3 | 0/22 | ||||||
7 | Futási hiba | 3ms | 2912 KiB | ||||
8 | Hibás válasz | 3ms | 3140 KiB | ||||
9 | Futási hiba | 3ms | 3340 KiB | ||||
10 | Hibás válasz | 3ms | 3296 KiB | ||||
11 | Hibás válasz | 3ms | 3408 KiB | ||||
12 | Hibás válasz | 3ms | 3596 KiB | ||||
13 | Hibás válasz | 3ms | 3820 KiB | ||||
14 | Hibás válasz | 3ms | 3908 KiB | ||||
subtask4 | 0/65 | ||||||
15 | Futási hiba | 59ms | 7188 KiB | ||||
16 | Futási hiba | 52ms | 7324 KiB | ||||
17 | Futási hiba | 70ms | 7540 KiB | ||||
18 | Hibás válasz | 78ms | 7120 KiB | ||||
19 | Hibás válasz | 76ms | 7204 KiB | ||||
20 | Hibás válasz | 75ms | 7200 KiB | ||||
21 | Hibás válasz | 76ms | 7316 KiB | ||||
22 | Hibás válasz | 75ms | 7524 KiB | ||||
23 | Hibás válasz | 112ms | 7676 KiB | ||||
24 | Hibás válasz | 109ms | 7784 KiB |