98212024-03-08 16:49:34bovizdbJobstown-i milliomoscpp17Hibás válasz 16/1003ms4904 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define endl "\n"
#define pll pair<ll, ll>
#define fs first
#define sc second
#define vll vector<ll>
#define v2d vector<vector<ll>>
#define vpll vector<pll>
#define qll queue<ll>
#define stll stack<ll>
#define sll set<ll>
#define mll map<ll, ll>

ll n, l;
vll t, p;
map <double, vector<pll>> m;
priority_queue<double> q;

void solve()
{
    cin >> n >> l;
    t.resize(n);
    p.resize(n);
    for (ll i = 0; i < n; i++) cin >> t[i];
    for (ll i = 0; i < n; i++) cin >> p[i];
    for (ll i = 0; i < n; i++)
    {
        double a = (double) p[i] / (double) t[i];
        q.push(a);
        m[a].push_back({p[i], t[i]});
    }
    ll ans = 0;
    while(l > 0 && q.size() > 0)
    {
		ll mx = 0, mxl = 0;
		for (auto i : m[q.top()])
		{
			ll x = l/i.sc;
			if (x*i.fs > mx)
			{
				mx = x*i.fs;
				mxl = l-x*i.sc;
			}
		}
		if (mx == 0)
		{
			q.pop();
		}
		else
		{
			ans += mx;
			l = mxl;
		}
    }
    cout << ans;
}
 
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1760 KiB
2Elfogadva3ms1924 KiB
subtask20/25
3Elfogadva3ms2136 KiB
4Elfogadva3ms2372 KiB
5Hibás válasz3ms2508 KiB
6Hibás válasz3ms2496 KiB
7Hibás válasz3ms2904 KiB
8Hibás válasz3ms3000 KiB
9Elfogadva3ms3212 KiB
10Elfogadva3ms3420 KiB
11Elfogadva3ms3620 KiB
12Elfogadva3ms3912 KiB
13Elfogadva3ms4188 KiB
14Elfogadva3ms3932 KiB
subtask316/16
15Elfogadva3ms4260 KiB
16Elfogadva3ms4284 KiB
17Elfogadva3ms4196 KiB
18Elfogadva3ms4292 KiB
19Elfogadva3ms4420 KiB
20Elfogadva3ms4432 KiB
21Elfogadva3ms4468 KiB
subtask40/59
22Elfogadva3ms4364 KiB
23Elfogadva2ms4360 KiB
24Hibás válasz3ms4432 KiB
25Hibás válasz3ms4424 KiB
26Hibás válasz3ms4556 KiB
27Elfogadva3ms4716 KiB
28Elfogadva3ms4580 KiB
29Elfogadva3ms4840 KiB
30Elfogadva2ms4612 KiB
31Elfogadva3ms4616 KiB
32Hibás válasz3ms4652 KiB
33Hibás válasz3ms4904 KiB