QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#389532 | #7622. Yet Another Coffee | chengning0909 | WA | 0ms | 3740kb | C++14 | 1.2kb | 2024-04-14 15:07:16 | 2024-04-14 15:07:17 |
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 (i > 10 && b[i].r <= 9) 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';
}
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: 0
Wrong Answer
time: 0ms
memory: 3740kb
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:
9 8 -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 2...
result:
wrong answer 1st numbers differ - expected: '-2596', found: '9'