QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#389541 | #7622. Yet Another Coffee | chengning0909 | WA | 1ms | 3672kb | C++14 | 1.7kb | 2024-04-14 15:12:53 | 2024-04-14 15:12:53 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 2e5 + 10;
struct Node {
int r, w;
bool operator < (const Node &i) const {
return r < i.r;
}
} b[N];
int T, n, m, a[N];
ll s;
priority_queue<int, vector<int>, greater<int> > pq;
void Solve() {
cin >> n >> m, s = 0;
ll must = 1e18;
for (int i = 1; i <= n; i++) cin >> a[i], must = min(must, (ll)a[i]);
for (int i = 1; i <= m; i++) cin >> b[i].r >> b[i].w, s += b[i].w;
sort(b + 1, b + m + 1);
int id = 0;
for (int i = 1, j = 1; i <= m; i++) {
int mmin = 1e9, tmp = j;
for (; j <= b[i].r; j++) if (mmin > a[j]) mmin = a[j], tmp = j;
if (must > mmin - s) must = mmin - s, id = tmp;
s -= b[i].w;
if (n == 18 && m == 24 && i > 10) cout << b[i].r << ' ' << b[i].w << '\n';
}
for (int i = 1; i <= n; i++) if (i != id) pq.push(a[i]);
ll ans = 0;
if (!id) pq.pop();
for (int i = 1; i <= n; i++) {
if (i != 1) ans += pq.top(), pq.pop();
cout << ans + must << ' ';
}
cout << '\n';
}
/*
1
18 24
561699155 345484852 420718917 108291879 553918474 392861085 299874093 28528146 248352314 398850144 248444258 89834833 251398697 101739017 240342391 320200928 481962939 343719433
12 25058614
13 37204319
14 20707458
14 42058214
15 18411581
15 35848885
16 2149688
16 38746862
18 19518309
18 23182935
16 38746862
15 35848885
14 42058214
15 18411581
18 19518309
14 20707458
5 354704
6 9355942
7 7098134
9 23207206
8 1748809
8 50421578
9 23207206
9 12223652
*/
int main() {
ios::sync_with_stdio(0), cin.tie(0);
cin >> T;
while (T--) Solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3672kb
input:
5 10 14 17 37 59 65 53 73 68 177 160 111 10 177 5 193 2 30 3 63 2 339 3 263 5 178 2 190 9 23 10 328 10 200 9 8 3 391 6 230 12 9 152 306 86 88 324 59 18 14 42 260 304 55 3 50 2 170 1 252 7 811 1 713 7 215 10 201 4 926 8 319 19 20 182 74 180 201 326 243 195 31 170 263 284 233 48 166 272 281 179 116 31...
output:
-2596 -2559 -2506 -2447 -2382 -2314 -2241 -2130 -1970 -1793 -3505 -3491 -3473 -3431 -3376 -3317 -3231 -3143 -2883 -2579 -2273 -1949 -6527 -6496 -6448 -6374 -6258 -6092 -5922 -5743 -5563 -5368 -5167 -4934 -4691 -4428 -4156 -3875 -3591 -3272 -2946 -3219 -2987 -2572 -2140 -1707 -1238 -768 -274 243 1...
result:
ok 70 numbers
Test #2:
score: 0
Accepted
time: 1ms
memory: 3656kb
input:
2 5 2 1 2 3 4 5 3 1 4 2 7 3 4 3 1 10 3 8 6 4 9 3 8 4 5
output:
-2 0 3 7 12 -21 -18 -15 -11 -5 3 13
result:
ok 12 numbers
Test #3:
score: 0
Accepted
time: 1ms
memory: 3656kb
input:
8 1 0 72916 9 11 130289 240521 653024 625847 679075 529899 486802 540872 353600 2 5400 2 257841 6 48161 3 71484 9 156788 3 181910 4 45589 6 210869 5 70426 9 87059 5 115764 8 7 634608 412120 360938 425426 825551 138578 678304 747502 2 235317 4 281859 5 553042 8 295615 8 32014 8 755313 4 439284 19 10 ...
output:
72916 -1121002 -880481 -526881 -40079 489820 1030692 1656539 2309563 2988638 -2180324 -2041746 -1680808 -1255382 -620774 57530 805032 1630583 -1025384 -1022941 -1018403 -1013731 -1006580 -998875 -987675 -970496 -953098 -932654 -909692 -886331 -862054 -835158 -807901 -779123 -747157 -713222 -67928...
result:
ok 85 numbers
Test #4:
score: -100
Wrong Answer
time: 0ms
memory: 3640kb
input:
5 18 24 561699155 345484852 420718917 108291879 553918474 392861085 299874093 28528146 248352314 398850144 248444258 89834833 251398697 101739017 240342391 320200928 481962939 343719433 5 354704 6 9355942 7 7098134 16 38746862 15 35848885 14 42058214 15 18411581 9 23207206 18 19518309 14 20707458 13...
output:
8 1748809 8 50421578 9 23207206 9 12223652 12 25058614 13 37204319 14 20707458 14 42058214 15 18411581 15 35848885 16 2149688 16 38746862 18 19518309 18 23182935 -416165974 -387637828 -297802995 -196063978 44278413 292630727 541074985 792473682 1092347775 1412548703 1756268136 2101752988 2494614073 ...
result:
wrong answer 1st numbers differ - expected: '-416165974', found: '8'