9554 2024. 02. 22 21:14:30 bovizdb MI bróker (50 pont) cpp17 Időlimit túllépés 8/50 1.1s 9536 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 Összpont Teszt Verdikt Idő Memória
base 8/50
1 Elfogadva 0/0 3ms 1832 KiB
2 Időlimit túllépés 0/0 1.05s 5012 KiB
3 Elfogadva 1/1 3ms 2348 KiB
4 Elfogadva 1/1 3ms 2332 KiB
5 Elfogadva 2/2 3ms 2556 KiB
6 Elfogadva 2/2 6ms 2972 KiB
7 Elfogadva 2/2 6ms 3176 KiB
8 Időlimit túllépés 0/1 1.078s 8264 KiB
9 Időlimit túllépés 0/1 1.034s 8408 KiB
10 Időlimit túllépés 0/2 1.047s 8412 KiB
11 Időlimit túllépés 0/2 1.1s 8664 KiB
12 Időlimit túllépés 0/2 1.049s 8936 KiB
13 Időlimit túllépés 0/2 1.047s 8952 KiB
14 Időlimit túllépés 0/2 1.072s 9172 KiB
15 Időlimit túllépés 0/3 1.07s 9352 KiB
16 Időlimit túllépés 0/3 1.042s 9492 KiB
17 Időlimit túllépés 0/3 1.074s 9300 KiB
18 Időlimit túllépés 0/3 1.062s 9248 KiB
19 Időlimit túllépés 0/3 1.075s 9204 KiB
20 Időlimit túllépés 0/3 1.077s 9268 KiB
21 Időlimit túllépés 0/3 1.057s 9276 KiB
22 Időlimit túllépés 0/3 1.065s 9280 KiB
23 Időlimit túllépés 0/3 1.059s 9404 KiB
24 Időlimit túllépés 0/3 1.065s 9536 KiB