95542024-02-22 21:14:30bovizdbMI bróker (50 pont)cpp17Időlimit túllépés 8/501.1s9536 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define endl "\n"
#define vll vector<ll>
#define pll pair<ll,ll>
#define fs first
#define sc second


void solve()
{
    ll n, m;
    cin >> n >> m;
    vll v(n), ans(m);
    vector<pll> q1(m), q2(m);
    vector<bool> b(m);
    for (ll i = 0; i < n; i++) cin >> v[i];
    for (ll i = 0; i < m; i++)
    {
        ll a, b;
        cin >> a >> b;
        q1[i].fs = a;
        q2[i].fs = b;
        q1[i].sc = i;
        q2[i].sc = i;
    }
    sort(q1.rbegin(), q1.rend());
    sort(q2.begin(), q2.end());
    for (ll i = 0; i < n; i++)
    {
        for (ll j = 0; j < m; j++)
        {
            if (q1[j].fs < v[i]) break;
            if (b[q1[j].sc] == 0)
            {
                b[q1[j].sc] = 1;
                ans[q1[j].sc] -= v[i];
            }
        }
        for (ll j = 0; j < m; j++)
        {
            if (q2[j].fs > v[i]) break;
            if (b[q2[j].sc] == 1)
            {
                ans[q2[j].sc] += v[i];
                b[q2[j].sc] = 0;
            }
        }
    }
    for (auto i : ans) cout << i << endl;
}
 
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
base8/50
1Elfogadva0/03ms1832 KiB
2Időlimit túllépés0/01.05s5012 KiB
3Elfogadva1/13ms2348 KiB
4Elfogadva1/13ms2332 KiB
5Elfogadva2/23ms2556 KiB
6Elfogadva2/26ms2972 KiB
7Elfogadva2/26ms3176 KiB
8Időlimit túllépés0/11.078s8264 KiB
9Időlimit túllépés0/11.034s8408 KiB
10Időlimit túllépés0/21.047s8412 KiB
11Időlimit túllépés0/21.1s8664 KiB
12Időlimit túllépés0/21.049s8936 KiB
13Időlimit túllépés0/21.047s8952 KiB
14Időlimit túllépés0/21.072s9172 KiB
15Időlimit túllépés0/31.07s9352 KiB
16Időlimit túllépés0/31.042s9492 KiB
17Időlimit túllépés0/31.074s9300 KiB
18Időlimit túllépés0/31.062s9248 KiB
19Időlimit túllépés0/31.075s9204 KiB
20Időlimit túllépés0/31.077s9268 KiB
21Időlimit túllépés0/31.057s9276 KiB
22Időlimit túllépés0/31.065s9280 KiB
23Időlimit túllépés0/31.059s9404 KiB
24Időlimit túllépés0/31.065s9536 KiB