3017 2023. 02. 08 11:53:57 1478 Szörnyek cpp17 Hibás válasz 0/100 112ms 7784 KiB
#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