165012025-05-04 23:12:19algoproJobstown-i milliomoscpp17Runtime error 0/1008ms508 KiB
// UUID: 4b547e86-faec-49e5-b213-a9afd91a08ae
#include <bits/stdc++.h>
using namespace std;

void solve(){
    int n, limit;
    cin >> n >> limit;

    vector<pair<long long, long long>> jobs(n);

    long long bv = 0, bw = 1;

    for (int i = 0; i < n; i++) {
        cin >> jobs[i].first;
    }
    for (int i = 0; i < n; i++) {
        cin >> jobs[i].second;

        if (1.0 * jobs[i].second / jobs[i].first > 1.0 * bv / bw) {
            bv = jobs[i].second;
            bw = jobs[i].first;
        }
    }
        
    int db;

    if (limit > 5000) {
        db = (limit - 5000) / bw;
    }

    limit = limit - bw * db;

    vector<long long> dp(limit + 1, 0);

    for (int i = 0; i <= limit; i++) {
        for (const auto& j : jobs) {
            if (j.first <= i) {
                dp[i] = max(dp[i], dp[i - j.first] + j.second);
            }

        }
    }

    cout << dp[limit] + db * bw;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);


    solve();
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Runtime error3ms316 KiB
2Runtime error3ms316 KiB
subtask20/25
3Runtime error3ms316 KiB
4Runtime error3ms316 KiB
5Wrong answer8ms508 KiB
6Wrong answer8ms508 KiB
7Wrong answer8ms316 KiB
8Wrong answer8ms468 KiB
9Wrong answer8ms316 KiB
10Wrong answer8ms316 KiB
11Wrong answer8ms368 KiB
12Wrong answer8ms316 KiB
13Wrong answer8ms316 KiB
14Wrong answer1ms316 KiB
subtask30/16
15Wrong answer8ms316 KiB
16Wrong answer8ms468 KiB
17Wrong answer8ms508 KiB
18Wrong answer1ms316 KiB
19Wrong answer8ms316 KiB
20Wrong answer8ms316 KiB
21Wrong answer8ms316 KiB
subtask40/59
22Runtime error3ms316 KiB
23Runtime error3ms316 KiB
24Wrong answer8ms464 KiB
25Wrong answer8ms468 KiB
26Wrong answer8ms316 KiB
27Wrong answer8ms468 KiB
28Wrong answer8ms316 KiB
29Wrong answer8ms316 KiB
30Wrong answer1ms316 KiB
31Wrong answer8ms468 KiB
32Wrong answer8ms464 KiB
33Wrong answer8ms316 KiB