163442025-04-28 18:06:08algoproJobstown-i milliomoscpp17Wrong answer 16/1002ms556 KiB
// UUID: 7fb7acef-9a42-452c-b4ba-0e769d8be30e
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main() {
    int n, m;
    cin >> n >> m;
    vector<pair<int, ll>> job(n);
    for (int i = 0; i < n; i++) cin >> job[i].first;
    for (int i = 0; i < n; i++) cin >> job[i].second;
    sort(job.rbegin(), job.rend());
    vector<pair<ll, int>> best(n);
    for (int i = 0; i < n; i++) {
        pair<ll, int> g = {0, 0};
        for (int j = 0; j < i; j++) {
            ll mon = best[j].second / job[i].first * job[i].second;
            pair<ll, int> o = {best[j].first + mon, best[j].second % job[i].first};
            g = max(g, o);
        }
        best[i] = max(g, {m / job[i].first * job[i].second, m % job[i].first});
    }
    cout << best[n - 1].first;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms316 KiB
subtask20/25
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Wrong answer2ms316 KiB
6Wrong answer2ms316 KiB
7Wrong answer2ms408 KiB
8Wrong answer2ms328 KiB
9Accepted2ms316 KiB
10Accepted2ms316 KiB
11Accepted2ms316 KiB
12Accepted2ms316 KiB
13Accepted2ms316 KiB
14Accepted1ms316 KiB
subtask316/16
15Accepted2ms512 KiB
16Accepted2ms316 KiB
17Accepted2ms316 KiB
18Accepted1ms508 KiB
19Accepted2ms556 KiB
20Accepted2ms508 KiB
21Accepted2ms316 KiB
subtask40/59
22Accepted1ms316 KiB
23Accepted1ms316 KiB
24Wrong answer2ms316 KiB
25Wrong answer2ms316 KiB
26Wrong answer2ms420 KiB
27Accepted2ms316 KiB
28Accepted2ms316 KiB
29Accepted2ms388 KiB
30Accepted1ms316 KiB
31Accepted2ms316 KiB
32Wrong answer2ms408 KiB
33Wrong answer2ms424 KiB