30162023-02-08 11:51:411478Szörnyekcpp17Wrong answer 0/1001.1s7148 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(), rendez);


    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;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1812 KiB
2Accepted3ms2004 KiB
subtask20/13
3Accepted2ms2088 KiB
4Wrong answer3ms2212 KiB
5Wrong answer3ms2432 KiB
6Wrong answer3ms2636 KiB
subtask30/22
7Wrong answer3ms2884 KiB
8Wrong answer3ms3096 KiB
9Wrong answer3ms3180 KiB
10Accepted3ms3432 KiB
11Accepted3ms3676 KiB
12Wrong answer3ms3764 KiB
13Wrong answer3ms3724 KiB
14Wrong answer3ms3728 KiB
subtask40/65
15Time limit exceeded1.1s4608 KiB
16Wrong answer310ms6940 KiB
17Time limit exceeded1.052s4816 KiB
18Wrong answer85ms6872 KiB
19Wrong answer85ms6792 KiB
20Wrong answer83ms6796 KiB
21Wrong answer85ms6792 KiB
22Wrong answer83ms7148 KiB
23Wrong answer81ms7016 KiB
24Wrong answer82ms7004 KiB