163452025-04-28 18:11:30algoproJobstown-i milliomoscpp17Wrong answer 16/1003ms556 KiB
// UUID: 58599cca-6833-4ce7-adce-0870f9c99c62
#include <bits/stdc++.h>
#include <cmath>
using namespace std;

typedef long long ll;

int main() {
    ll n, m;
    cin >> n >> m;
    vector<pair<ll, ll>> job(n);
    for (ll i = 0; i < n; i++) cin >> job[i].first;
    for (ll i = 0; i < n; i++) cin >> job[i].second;
    sort(job.rbegin(), job.rend());
    vector<pair<ll, ll>> best(n);
    for (ll i = 0; i < n; i++) {
        pair<ll, ll> g = {0, 0};
        for (ll j = 0; j < i; j++) {
            ll mon = best[j].second / job[i].first * job[i].second;
            pair<ll, ll> 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
2Accepted1ms500 KiB
subtask20/25
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Wrong answer3ms316 KiB
6Wrong answer3ms316 KiB
7Wrong answer3ms316 KiB
8Wrong answer3ms392 KiB
9Accepted3ms416 KiB
10Accepted3ms416 KiB
11Accepted3ms316 KiB
12Accepted3ms316 KiB
13Accepted3ms316 KiB
14Accepted1ms316 KiB
subtask316/16
15Accepted3ms316 KiB
16Accepted3ms316 KiB
17Accepted3ms316 KiB
18Accepted1ms316 KiB
19Accepted3ms508 KiB
20Accepted3ms316 KiB
21Accepted3ms316 KiB
subtask40/59
22Accepted1ms316 KiB
23Accepted1ms316 KiB
24Wrong answer3ms416 KiB
25Wrong answer3ms316 KiB
26Wrong answer3ms408 KiB
27Accepted3ms420 KiB
28Accepted3ms416 KiB
29Accepted3ms316 KiB
30Accepted1ms316 KiB
31Accepted3ms556 KiB
32Wrong answer3ms412 KiB
33Wrong answer3ms508 KiB