QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#874656 | #2743. Seats | Wansur# | 33 | 661ms | 58172kb | C++20 | 2.1kb | 2025-01-28 13:04:21 | 2025-01-28 13:04:21 |
Judging History
answer
#include "seats.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6 + 12;
pair<int, int> t[maxn * 4];
int p[maxn * 4];
int r[maxn], c[maxn];
int a[maxn];
int n, m;
pair<int, int> operator + (pair<int, int> x, pair<int, int> y) {
if(x.first == y.first) {
return {x.first, x.second + y.second};
}
return min(x, y);
}
void build(int v, int tl, int tr) {
if(tl == tr) {
t[v] = {tl - 1, 1};
return;
}
int mid = (tl + tr) >> 1;
build(v * 2, tl, mid);
build(v * 2 + 1, mid + 1, tr);
t[v] = t[v * 2] + t[v * 2 + 1];
}
void push(int v, int tl, int tr) {
if(tl == tr) return;
t[v * 2].first += p[v];
t[v * 2 + 1].first += p[v];
p[v * 2] += p[v], p[v * 2 + 1] += p[v];
p[v] = 0;
}
void upd(int v, int tl, int tr, int l, int r, int x) {
push(v, tl, tr);
if(tl > r || l > tr) return;
if(tl >= l && tr <= r) {
t[v].first += x;
p[v] += x;
return;
}
int mid = (tl + tr) >> 1;
upd(v * 2, tl, mid, l, r, x);
upd(v * 2 + 1, mid + 1, tr, l, r, x);
t[v] = t[v * 2] + t[v * 2 + 1];
}
void upd(int i, int x) {
if(i > 1) {
upd(1, 1, n, max(a[i], a[i - 1]), n, x);
}
if(i < n) {
upd(1, 1, n, max(a[i], a[i + 1]), n, x);
}
}
pair<int, int> get(int v, int tl, int tr, int l, int r) {
if(tl > r || l > tr) return {1e9, 0};
if(tl >= l && tr <= r) return t[v];
int mid = (tl + tr) >> 1;
return get(v * 2, tl, mid, l, r) + get(v * 2 + 1, mid + 1, tr, l, r);
}
void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C) {
n = W;
for(int i = 1; i <= n; i++) {
r[i] = C[i - 1] + 1;
a[r[i]] = i;
}
build(1, 1, n);
for(int i = 1; i < n; i++) {
upd(1, 1, n, max(a[i], a[i + 1]), n, -1);
}
}
int swap_seats(int i, int j) {
i++, j++;
if(i > j) swap(i, j);
upd(r[i], 1), upd(r[j], 1);
swap(r[i], r[j]);
a[r[i]] = i;
a[r[j]] = j;
upd(r[i], -1), upd(r[j], -1);
return t[1].second;
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 7980kb
input:
3 3 5000 2 2 1 2 0 2 0 1 0 0 2 1 1 1 1 0 2 0 6 0 5 7 6 4 3 2 0 2 0 2 7 0 7 0 3 2 3 6 0 2 3 5 2 6 2 0 8 6 0 6 1 3 1 8 8 1 4 2 1 8 2 5 1 3 7 0 6 5 6 3 2 8 8 2 1 3 8 5 6 3 8 0 4 8 6 8 7 8 4 3 3 6 5 0 8 5 1 7 2 6 1 2 5 4 5 1 7 6 8 4 7 3 6 8 8 3 0 3 6 3 0 8 0 5 7 2 0 3 7 5 4 5 3 5 1 0 0 8 7 0 2 5 5 8 7 4...
output:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
result:
wrong answer 1st numbers differ - expected: '4', found: '1'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Wrong Answer
Test #33:
score: 0
Wrong Answer
time: 2ms
memory: 8208kb
input:
101 101 5000 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 0 43 0 44 0 45 0 46 0 47 0 48 0 49 0 50 0 51 0 52 0 53 0 54 0 55 0 56 0 57 0 58 0 ...
output:
5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...
result:
wrong answer 1st numbers differ - expected: '90', found: '5'
Subtask #5:
score: 33
Accepted
Test #44:
score: 33
Accepted
time: 11ms
memory: 8148kb
input:
1 3 50000 0 1 0 2 0 0 0 2 2 0 2 1 0 1 1 0 0 1 1 2 1 2 1 2 0 2 1 0 0 2 2 0 1 2 2 1 2 0 0 1 0 2 1 2 1 0 1 0 1 2 0 1 1 0 0 2 0 2 2 1 0 2 1 0 1 2 2 1 2 1 1 2 0 1 1 2 0 1 0 2 1 2 0 2 2 1 2 0 1 2 1 0 1 0 2 1 1 0 1 0 2 1 1 2 0 2 2 0 1 0 2 0 0 2 1 0 0 2 1 2 2 1 0 1 0 2 1 0 2 1 2 0 1 2 0 1 2 0 2 1 2 0 0 2 1 ...
output:
2 3 3 3 3 3 2 3 2 3 3 3 3 2 3 3 3 2 3 3 3 2 2 2 3 2 3 3 3 3 3 3 3 3 2 2 3 3 2 3 3 2 2 2 3 3 3 2 3 3 3 3 2 3 3 3 2 3 3 2 2 3 3 2 2 3 3 2 3 3 2 2 2 2 3 2 3 3 3 3 3 2 3 2 3 2 2 2 2 3 3 3 3 3 3 3 2 2 3 3 3 2 3 2 3 3 3 2 2 3 2 3 3 3 3 3 3 3 3 3 2 3 3 2 3 3 3 3 2 3 3 3 3 3 3 2 3 3 3 3 3 2 3 3 2 3 3 3 3 2 ...
result:
ok 50000 numbers
Test #45:
score: 33
Accepted
time: 24ms
memory: 8064kb
input:
1 10 50000 0 7 0 5 0 8 0 6 0 0 0 1 0 2 0 4 0 3 0 9 6 0 5 8 9 7 8 3 1 3 2 5 9 8 8 3 3 0 6 0 3 5 2 0 2 8 2 5 8 3 8 5 7 2 2 8 0 3 3 2 2 0 3 5 2 0 5 8 5 0 9 2 2 8 2 1 5 3 8 9 1 0 5 6 4 7 5 7 0 9 1 3 3 0 9 3 8 9 3 6 4 0 2 7 9 2 8 2 2 6 5 7 7 4 2 5 3 4 0 1 9 1 9 7 0 1 6 4 9 5 6 8 0 2 9 5 3 1 1 8 9 2 6 8 1...
output:
3 3 2 2 3 4 4 6 4 2 2 2 2 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 2 2 2 4 5 4 2 2 2 2 2 2 2 4 4 4 2 2 2 2 2 2 3 3 3 3 3 3 3 5 3 3 3 3 3 2 2 2 2 3 3 3 4 4 3 9 7 3 2 2 2 2 2 3 2 2 2 2 3 3 2 2 3 4 4 3 4 4 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 4 2 2 2 2 2 2 2 2 2 ...
result:
ok 50000 numbers
Test #46:
score: 33
Accepted
time: 41ms
memory: 8064kb
input:
1 100 50000 0 98 0 99 0 96 0 97 0 94 0 95 0 92 0 93 0 90 0 91 0 88 0 89 0 86 0 87 0 84 0 85 0 82 0 83 0 80 0 81 0 78 0 79 0 76 0 77 0 74 0 75 0 72 0 73 0 70 0 71 0 68 0 69 0 66 0 67 0 64 0 65 0 62 0 63 0 60 0 61 0 58 0 59 0 56 0 57 0 54 0 55 0 52 0 53 0 50 0 51 0 48 0 49 0 46 0 47 0 44 0 45 0 42 0 4...
output:
47 51 23 51 43 51 28 51 11 51 30 51 48 51 34 51 24 51 21 51 32 51 40 51 47 51 36 51 36 51 47 51 41 51 19 51 46 51 30 51 23 51 19 51 45 51 43 51 23 51 46 51 52 51 49 51 45 51 30 51 34 51 29 51 46 51 23 51 37 51 15 51 42 51 29 51 20 51 9 51 30 51 28 51 15 51 32 51 48 51 31 51 23 51 50 51 22 51 14 51 4...
result:
ok 50000 numbers
Test #47:
score: 33
Accepted
time: 64ms
memory: 8076kb
input:
1 1000 50000 0 0 0 3 0 2 0 1 0 6 0 5 0 4 0 9 0 8 0 7 0 12 0 11 0 10 0 15 0 14 0 13 0 18 0 17 0 16 0 21 0 20 0 19 0 24 0 23 0 22 0 27 0 26 0 25 0 30 0 29 0 28 0 33 0 32 0 31 0 36 0 35 0 34 0 39 0 38 0 37 0 42 0 41 0 40 0 45 0 44 0 43 0 48 0 47 0 46 0 51 0 50 0 49 0 54 0 53 0 52 0 57 0 56 0 55 0 60 0 ...
output:
299 334 257 334 316 334 267 334 308 334 215 334 178 334 313 334 81 334 274 334 279 334 135 334 314 334 65 334 327 334 257 334 333 334 285 334 154 334 294 334 223 334 301 334 195 334 268 334 311 334 136 334 224 334 291 334 166 334 312 334 301 334 152 334 329 334 228 334 286 334 316 334 277 334 321 33...
result:
ok 50000 numbers
Test #48:
score: 33
Accepted
time: 92ms
memory: 10520kb
input:
1 10000 50000 0 9999 0 9998 0 9997 0 9996 0 9995 0 9994 0 9993 0 9992 0 9991 0 9990 0 9989 0 9988 0 9987 0 9986 0 9985 0 9984 0 9983 0 9982 0 9981 0 9980 0 9979 0 9978 0 9977 0 9976 0 9975 0 9974 0 9973 0 9972 0 9971 0 9970 0 9969 0 9968 0 9967 0 9966 0 9965 0 9964 0 9963 0 9962 0 9961 0 9960 0 9959...
output:
6234 2035 2035 1088 1088 1088 1088 1088 948 948 948 776 776 776 717 717 717 717 717 717 667 667 667 667 667 667 460 380 380 380 380 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 201 ...
result:
ok 50000 numbers
Test #49:
score: 33
Accepted
time: 519ms
memory: 57284kb
input:
1 1000000 50000 0 999998 0 999999 0 999996 0 999997 0 999994 0 999995 0 999992 0 999993 0 999990 0 999991 0 999988 0 999989 0 999986 0 999987 0 999984 0 999985 0 999982 0 999983 0 999980 0 999981 0 999978 0 999979 0 999976 0 999977 0 999974 0 999975 0 999972 0 999973 0 999970 0 999971 0 999968 0 999...
output:
385423 295869 142987 132452 33232 33232 33232 33232 33232 33232 33232 33232 33232 23149 23149 15461 15461 15461 15461 15461 15461 15461 15461 15461 15461 15461 15461 15461 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 10940 3980 398...
result:
ok 50000 numbers
Test #50:
score: 33
Accepted
time: 556ms
memory: 57432kb
input:
1 1000000 50000 0 2 0 571660 0 0 0 598164 0 4 0 3 0 8 0 7 0 6 0 11 0 10 0 9 0 14 0 13 0 12 0 17 0 16 0 15 0 20 0 19 0 18 0 301790 0 22 0 21 0 26 0 25 0 24 0 29 0 28 0 27 0 32 0 31 0 30 0 35 0 34 0 33 0 38 0 37 0 36 0 41 0 40 0 39 0 44 0 366904 0 42 0 47 0 46 0 45 0 50 0 49 0 48 0 53 0 52 0 51 0 56 0...
output:
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ...
result:
ok 50000 numbers
Test #51:
score: 33
Accepted
time: 517ms
memory: 57520kb
input:
1 1000000 50000 0 999999 0 999998 0 999997 0 999996 0 999995 0 999994 0 999993 0 999992 0 999991 0 999990 0 999989 0 999988 0 999987 0 999986 0 999985 0 999984 0 999983 0 999982 0 999981 0 999980 0 999979 0 999978 0 999977 0 999976 0 999975 0 999974 0 999973 0 999972 0 999971 0 999970 0 999969 0 999...
output:
781450 466897 466897 72743 72743 72743 72743 72743 72743 72743 72743 72743 72743 51263 51263 51263 51263 51263 51263 51263 51263 51263 39751 39751 39751 39751 39751 31609 31609 31609 30674 30674 30674 30674 30674 30674 30674 30674 30674 30674 30674 30674 30674 30674 30674 30674 30674 4773 4773 4773 ...
result:
ok 50000 numbers
Test #52:
score: 33
Accepted
time: 661ms
memory: 58172kb
input:
1 1000000 50000 0 793934 0 196527 0 191558 0 269493 0 224163 0 496259 0 840446 0 914347 0 749623 0 744160 0 522563 0 667276 0 42573 0 944015 0 530889 0 905152 0 440648 0 187960 0 746314 0 47304 0 880453 0 499207 0 651169 0 698608 0 183735 0 83408 0 685090 0 148429 0 436235 0 549828 0 536632 0 249796...
output:
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...
result:
ok 50000 numbers
Test #53:
score: 33
Accepted
time: 496ms
memory: 57640kb
input:
1 1000000 50000 0 1 0 0 0 3 0 2 0 5 0 4 0 7 0 6 0 9 0 8 0 11 0 10 0 13 0 12 0 15 0 14 0 17 0 16 0 19 0 18 0 21 0 20 0 23 0 22 0 25 0 24 0 27 0 26 0 29 0 28 0 31 0 30 0 33 0 32 0 35 0 34 0 37 0 36 0 39 0 38 0 41 0 40 0 43 0 42 0 45 0 44 0 47 0 46 0 49 0 48 0 51 0 50 0 53 0 52 0 55 0 54 0 57 0 56 0 59...
output:
477217 500001 467927 500001 195870 500001 490387 500001 292695 500001 178047 500001 398425 500001 327735 500001 252186 500001 227485 500001 188786 500001 265043 500001 484268 500001 229535 500001 334507 500001 404834 500001 418499 500001 335444 500001 231599 500001 457341 500001 274731 500001 324051...
result:
ok 50000 numbers
Test #54:
score: 33
Accepted
time: 503ms
memory: 57368kb
input:
1 1000000 50000 0 0 0 3 0 2 0 1 0 6 0 5 0 4 0 9 0 8 0 7 0 12 0 11 0 10 0 15 0 14 0 13 0 18 0 17 0 16 0 21 0 20 0 19 0 24 0 23 0 22 0 27 0 26 0 25 0 30 0 29 0 28 0 33 0 32 0 31 0 36 0 35 0 34 0 39 0 38 0 37 0 42 0 41 0 40 0 45 0 44 0 43 0 48 0 47 0 46 0 51 0 50 0 49 0 54 0 53 0 52 0 57 0 56 0 55 0 60...
output:
89901 333334 261007 333334 141158 333334 270976 333334 176861 333334 292328 333334 248800 333334 292386 333334 280833 333334 141024 333334 43568 333334 261754 333334 208251 333334 163703 333334 249926 333334 109947 333334 216569 333334 313325 333334 73655 333334 306509 333334 115095 333334 167988 33...
result:
ok 50000 numbers
Test #55:
score: 33
Accepted
time: 497ms
memory: 56696kb
input:
1 1000000 50000 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 0 43 0 44 0 45 0 46 0 47 0 48 0 49 0 50 0 51 0 52 0 53 0 54 0 55 0 56 0 57 0 58...
output:
562618 1000000 999353 1000000 869109 1000000 721525 1000000 832796 1000000 956260 1000000 243339 1000000 870965 1000000 849270 1000000 769026 1000000 422210 1000000 150924 1000000 718460 1000000 524133 1000000 251039 1000000 858858 1000000 402384 1000000 989379 1000000 525102 1000000 738099 1000000 ...
result:
ok 50000 numbers
Subtask #6:
score: 0
Skipped
Dependency #1:
0%