QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#320911 | #5441. Quartz Collection | duckindog | WA | 1ms | 6212kb | C++14 | 1.4kb | 2024-02-03 23:39:39 | 2024-02-03 23:39:39 |
Judging History
answer
//from duckindog wth depression
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5 + 10;
int n, m;
struct quartz {
int a, b, t;
quartz() : a(0), b(0), t(0) {}
quartz(int a, int b, int t) : a(a), b(b), t(t) {}
} x[N];
int d[N];
int cal() {
sort(x + 1, x + n + 1, [&](const auto&x, const auto& y) {
return make_pair(x.a - x.b, x.a) < make_pair(y.a - y.b, y.a);
});
for (int i = 1; i <= n; ++i) d[i] = x[i].a - x[i].b;
int answer = d[1];
bool player = 0;
int it = 2;
while (it < n) {
if (it < n - 1) {
if (d[it] + d[it + 1] <= d[it]) {
if (player) answer += d[it] + d[it + 1];
it += 2;
player = 1 - player;
continue;
}
}
if (player) answer += d[it];
it += 1;
player = 1 - player;
}
for (int i = 1; i <= n; ++i) answer += x[i].b;
return answer;
}
int32_t main() {
cin.tie(0)->sync_with_stdio(0);
if (fopen("duck.inp", "r")) {
freopen("duck.inp", "r", stdin);
freopen("duck.out", "w", stdout);
}
cin >> n >> m;
for (int i = 1; i <= n; ++i) {
int a, b; cin >> a >> b;
x[i] = {a, b, i};
}
cout << cal() << "\n";
for (int i = 1; i <= m; ++i) {
int t, a, b; cin >> t >> a >> b;
for (int j = 1; j <= n; ++j) if (x[j].t == t) x[j] = {a, b, t};
cout << cal() << "\n";
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 6212kb
input:
4 5 2 4 5 7 1 7 2 1 4 5 2 1 6 2 4 4 3 2 1 3 3 6 6
output:
13 14 15 14 10 13
result:
ok 6 numbers
Test #2:
score: 0
Accepted
time: 1ms
memory: 5980kb
input:
1 1 1 1 1 1 1
output:
1 1
result:
ok 2 number(s): "1 1"
Test #3:
score: -100
Wrong Answer
time: 1ms
memory: 6076kb
input:
100 100 6 7 100 8 5 61 5 75 59 65 51 47 83 37 34 54 87 46 4 26 21 87 12 97 86 68 60 11 62 76 14 83 29 31 91 62 57 80 47 75 85 97 62 77 91 86 14 25 48 77 83 65 39 61 78 77 45 46 90 74 100 91 86 98 55 5 84 42 91 69 100 4 74 98 60 37 75 44 41 12 15 34 36 1 99 16 7 87 36 26 79 42 41 84 17 98 72 16 38 55...
output:
5109 5005 5003 5007 4975 4993 4950 4928 4878 4930 4903 4870 4840 4829 4898 4864 4837 4787 4793 4732 4730 4668 4620 4572 4501 4575 4613 4687 4677 4685 4714 4733 4683 4701 4660 4631 4628 4682 4743 4777 4725 4725 4704 4710 4679 4744 4672 4687 4650 4603 4565 4543 4477 4514 4605 4585 4532 4520 4489 4454 ...
result:
wrong answer 2nd numbers differ - expected: '5065', found: '5005'