9500 2024. 02. 22 12:23:09 zeytonx MI bróker (50 pont) cpp17 Időlimit túllépés 6/50 1.103s 116872 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define endl "\n"
#define pll pair<ll,ll>
#define vll vector<ll>
#define mll map<ll,ll>
#define fs first
#define sc second

const ll MOD = 1e9+7;

void solve()
{
	ll n, q;
	cin >> n >> q;
	vector<ll> p(n);
	
	map<ll, vll> lw, bg;

	for(ll i = 0; i < n; i++)
	{
		cin >> p[i];
		for(ll j = p[i]; j <= 500; j++)
			lw[j].push_back(i);
		for(ll j = 1; j <= p[i]; j++)
			bg[j].push_back(i);
	}

	vector<pll> qr(q);
	for(auto &i : qr)
		cin >> i.fs >> i.sc;
	
	for(auto i : qr)
	{
		ll ans = 0;
		ll i1 = 0, i2 = 0;

		ll bgs = bg[i.sc].size(), lws = lw[i.fs].size();

		while(true)
		{
			ans -= p[lw[i.fs][i1]];
			i1++;
			while(i2 < bgs && lw[i.fs][i1-1] >= bg[i.sc][i2])
				i2++;
			if(i2 == bgs)
				break;
			ans += p[bg[i.sc][i2]];
			i2++;
			while(i1 < lws && lw[i.fs][i1] <= bg[i.sc][i2-1])
				i1++;
			if(i1 == lws)
				break;
		}
		
		cout << ans << "\n";
	}
	cout << endl;
}

int 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 6/50
1 Elfogadva 0/0 3ms 2236 KiB
2 Időlimit túllépés 0/0 1.103s 49720 KiB
3 Futási hiba 0/1 3ms 2684 KiB
4 Futási hiba 0/1 3ms 3064 KiB
5 Elfogadva 2/2 35ms 14404 KiB
6 Elfogadva 2/2 307ms 106940 KiB
7 Elfogadva 2/2 308ms 109176 KiB
8 Futási hiba 0/1 247ms 114228 KiB
9 Futási hiba 0/1 284ms 114252 KiB
10 Időlimit túllépés 0/2 1.07s 59356 KiB
11 Futási hiba 0/2 361ms 116216 KiB
12 Futási hiba 0/2 368ms 116632 KiB
13 Futási hiba 0/2 391ms 116868 KiB
14 Futási hiba 0/2 360ms 116872 KiB
15 Időlimit túllépés 0/3 1.05s 57644 KiB
16 Időlimit túllépés 0/3 1.074s 58228 KiB
17 Időlimit túllépés 0/3 1.085s 58448 KiB
18 Időlimit túllépés 0/3 1.062s 58268 KiB
19 Időlimit túllépés 0/3 1.049s 58168 KiB
20 Időlimit túllépés 0/3 1.064s 59220 KiB
21 Időlimit túllépés 0/3 1.082s 58928 KiB
22 Időlimit túllépés 0/3 1.072s 59612 KiB
23 Időlimit túllépés 0/3 1.059s 59680 KiB
24 Időlimit túllépés 0/3 1.082s 58868 KiB