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 |