96832024-02-25 12:59:40bovizdbJobstown-i milliomoscpp17Hibás válasz 0/1002.085s3740 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, priority_queue<pair<ll, ll>>> m, m2;
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({p[i], t[i]});
    }
    ll ans = 0;
    while(l > 0 && q.size() > 0)
    {
        if (m[q.top()].size() == 0)
        {
            q.pop();
            continue;
        }
        if (m[q.top()].top().sc > l) m[q.top()].pop();
        else
        {
            l -= m[q.top()].top().sc;
            ans += m[q.top()].top().fs;
        }
    }
    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
1Elfogadva3ms1892 KiB
2Elfogadva3ms2396 KiB
subtask20/25
3Elfogadva3ms2400 KiB
4Elfogadva3ms2616 KiB
5Hibás válasz3ms2844 KiB
6Hibás válasz3ms3004 KiB
7Hibás válasz3ms2956 KiB
8Hibás válasz3ms2952 KiB
9Elfogadva3ms2956 KiB
10Elfogadva3ms3248 KiB
11Elfogadva3ms3204 KiB
12Elfogadva3ms3360 KiB
13Elfogadva3ms3368 KiB
14Elfogadva2ms3304 KiB
subtask30/16
15Elfogadva326ms3372 KiB
16Elfogadva175ms3344 KiB
17Elfogadva159ms3368 KiB
18Elfogadva71ms3300 KiB
19Időlimit túllépés2.061s3308 KiB
20Időlimit túllépés2.073s2664 KiB
21Időlimit túllépés2.081s3660 KiB
subtask40/59
22Elfogadva3ms3488 KiB
23Elfogadva2ms3480 KiB
24Hibás válasz1.916s3560 KiB
25Hibás válasz266ms3552 KiB
26Hibás válasz100ms3560 KiB
27Elfogadva326ms3560 KiB
28Elfogadva179ms3584 KiB
29Elfogadva159ms3740 KiB
30Elfogadva71ms3700 KiB
31Időlimit túllépés2.085s3740 KiB
32Időlimit túllépés2.02s2752 KiB
33Időlimit túllépés2.072s3592 KiB