QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#158718 | #5173. 染色 | skip2004 | 0 | 329ms | 93980kb | C++14 | 1.1kb | 2023-09-02 16:54:04 | 2023-09-02 16:54:04 |
Judging History
answer
#include<bits/stdc++.h>
using std::cin;
using std::cout;
const int N = 1000005;
int n, q;
int a[N];
int ri[N];
int pre[N];
int l[N], r[N], ans[N];
std::vector<int> go[N];
std::vector<int> qry[N];
int st[N], top;
void dfs0(int x) {
st[++top] = x;
for(int y : go[x]) dfs0(y);
for(int id : qry[x]) {
int pos = std::lower_bound(st + 1, st + top + 1, r[id], std::greater<int>()) - st;
ans[id] = (r[id] - l[id]) * 2 - (top - pos);
}
-- top;
}
int main() {
std::ios::sync_with_stdio(false), cin.tie(0);
#ifdef zqj
freopen("$.in", "r", stdin);
#endif
cin >> n >> q;
for(int i = 1;i <= n + 1;++i) {
ri[i] = n + 1;
}
for(int i = 1;i <= n;++i) {
cin >> a[i];
int p = pre[a[i]];
ri[p] = std::min(ri[p], i);
pre[a[i]] = i;
}
for(int i = n - 1;i >= 1;--i) {
ri[i] = std::min(ri[i], ri[i + 1]);
go[ri[i]].push_back(i);
}
for(int i = 1;i <= q;++i) {
cin >> l[i] >> r[i];
if(l[i] > r[i]) std::swap(l[i], r[i]);
qry[l[i]].push_back(i);
}
dfs0(n);
for(int i = 1;i <= q;++i) {
cout << ans[i] << '\n';
}
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 9ms
memory: 61108kb
input:
10000 100 84 85 52 2 78 53 20 21 23 76 37 44 18 5 37 8 81 65 46 58 69 1 69 37 53 46 37 35 35 89 1 77 35 6 46 59 89 46 25 55 50 38 61 67 44 23 29 24 46 4 42 15 34 77 20 34 83 79 12 50 69 26 38 14 9 66 80 72 22 26 9 68 35 38 19 84 92 30 83 62 100 71 81 60 7 37 64 50 33 60 86 75 45 78 32 53 3 48 87 60 ...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
result:
wrong answer 1st words differ - expected: '3668', found: '0'
Subtask #2:
score: 0
Wrong Answer
Test #7:
score: 13
Accepted
time: 48ms
memory: 69188kb
input:
100000 100000 3 2 3 3 3 3 2 3 2 1 3 1 1 1 3 2 1 3 1 2 2 1 3 1 2 2 1 1 1 3 2 1 3 3 3 3 1 1 1 2 3 3 2 1 1 1 3 1 3 1 3 2 1 3 2 3 3 2 3 3 2 3 3 3 3 3 2 3 2 3 1 3 3 3 3 3 3 3 1 2 3 3 1 3 1 1 2 2 3 1 1 2 3 2 3 1 3 2 1 3 2 3 2 1 1 3 3 1 3 1 2 2 2 3 2 3 2 3 2 1 1 3 1 3 2 2 3 3 3 1 2 2 3 3 2 1 3 1 2 2 2 3 2 ...
output:
113194 133099 54921 6483 9199 78290 93920 29192 38941 111588 66619 7226 66019 42776 44640 49274 11102 107722 71676 10708 4735 87161 46860 75805 27270 10951 12237 59513 18641 55105 11626 7850 5521 38727 67276 58326 16941 70130 70341 53673 51864 551 18481 119885 4016 43296 62515 33972 9870 24982 33222...
result:
ok 100000 tokens
Test #8:
score: 0
Accepted
time: 44ms
memory: 71228kb
input:
100000 100000 2 3 2 2 2 1 2 1 2 1 2 2 3 3 3 2 1 2 1 1 3 3 3 1 3 1 1 1 2 2 1 1 3 3 3 2 2 2 1 3 3 3 3 3 3 2 1 3 2 1 3 3 1 1 1 2 3 1 1 3 3 2 1 1 2 2 2 1 3 1 1 3 2 2 1 2 2 3 2 1 1 1 1 1 1 2 2 3 3 2 1 3 3 2 3 2 1 2 3 3 1 3 1 3 3 1 3 3 1 3 1 1 3 2 3 2 2 2 1 3 2 1 2 1 2 3 3 3 3 3 1 2 2 2 2 1 2 2 3 3 1 2 3 ...
output:
26713 92501 21509 49442 97641 78683 141125 77139 85866 63249 94772 69580 92232 51238 68375 24225 33431 945 69079 81415 89436 46535 15964 5588 93083 42072 99191 79445 79452 91055 38537 37616 422 72269 18476 82679 19235 10612 8002 12362 35849 66190 71653 93753 68380 17858 100447 115325 114262 29272 91...
result:
ok 100000 tokens
Test #9:
score: 0
Accepted
time: 49ms
memory: 73244kb
input:
100000 100000 2 1 1 1 1 1 3 1 3 1 1 1 1 1 3 2 1 1 1 2 3 3 3 3 2 1 2 3 3 2 3 3 2 1 1 1 2 3 2 3 1 1 2 2 2 1 3 3 1 3 3 3 2 2 1 1 1 1 1 3 1 1 2 3 3 3 1 3 3 1 1 1 3 2 3 2 1 1 3 2 2 3 1 2 3 3 2 2 2 2 1 2 3 3 3 1 1 1 3 3 3 2 2 3 1 3 3 3 1 1 1 2 1 3 2 1 1 1 2 2 1 3 2 3 2 1 2 1 1 2 1 3 3 3 1 2 3 3 1 2 3 1 1 ...
output:
80639 35808 47971 6829 13146 13817 26698 27049 645 41874 8900 10110 49884 79227 31064 124997 120224 119988 19203 69267 15180 24295 112608 78787 9713 51263 7039 14760 79569 68042 18132 29324 42684 87131 52903 5361 1980 146285 95921 36987 7182 76523 34491 20411 5262 99211 5426 115946 70902 61447 17419...
result:
ok 100000 tokens
Test #10:
score: 0
Accepted
time: 42ms
memory: 71204kb
input:
100000 100000 1 1 3 1 3 2 1 1 2 2 1 2 1 2 2 1 3 3 3 1 3 1 3 2 2 1 3 3 3 1 1 3 3 1 3 2 1 2 2 3 1 1 2 1 2 1 1 2 2 1 2 1 1 2 1 3 3 3 1 3 3 3 2 3 1 2 2 3 2 1 3 2 3 2 1 2 1 2 3 1 2 1 1 1 2 1 1 3 1 1 2 2 1 1 2 1 3 3 2 2 1 1 2 2 3 2 3 1 1 2 2 3 3 1 1 2 1 1 2 3 2 3 2 3 3 3 2 3 1 3 2 2 3 2 3 2 2 1 3 3 1 2 1 ...
output:
38914 124419 25224 129215 32037 25575 62618 95520 22272 59239 29749 68889 103029 33972 4568 74859 114913 100546 51067 49206 49109 51661 41339 9719 64962 11110 16135 87092 65934 104569 61632 47720 14030 33785 20259 34555 69260 77538 8434 13773 58838 30772 30535 107145 4075 30415 88009 44581 24535 557...
result:
ok 100000 tokens
Test #11:
score: -13
Wrong Answer
time: 43ms
memory: 64720kb
input:
100000 100000 2 2 2 3 2 1 1 3 2 3 1 1 3 1 1 2 2 1 2 3 3 3 1 3 1 3 3 1 1 2 1 2 3 2 1 2 2 2 3 2 3 1 3 3 3 2 2 2 1 3 3 1 2 1 3 1 2 2 2 1 2 1 3 3 2 1 3 2 1 2 2 1 3 3 2 2 2 1 2 2 2 2 2 1 2 3 3 3 3 1 1 1 2 1 2 2 1 3 1 1 2 1 1 2 3 2 3 2 3 2 3 1 3 3 2 1 3 1 3 2 3 1 3 1 1 3 1 1 1 1 3 1 3 1 1 1 1 3 1 2 1 1 3 ...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
wrong answer 1st words differ - expected: '30863', found: '0'
Subtask #3:
score: 0
Wrong Answer
Test #15:
score: 0
Wrong Answer
time: 9ms
memory: 59032kb
input:
5000 5000 256 63 197 36 75 66 33 72 27 75 66 248 29 166 209 252 141 95 84 226 147 249 116 94 192 256 199 273 182 166 116 274 27 211 154 144 283 23 53 110 215 11 164 284 161 221 251 96 43 47 18 115 12 51 156 61 116 209 93 98 47 165 174 106 83 67 184 75 12 290 183 197 112 240 67 56 215 148 104 5 141 2...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
wrong answer 1st words differ - expected: '1322', found: '0'
Subtask #4:
score: 0
Wrong Answer
Test #23:
score: 0
Wrong Answer
time: 329ms
memory: 93980kb
input:
1000000 1000000 1105 3246 1880 3554 818 2331 2576 4140 149 4562 3498 3536 3400 4788 4363 4742 1216 4218 4032 1701 1489 4889 1761 3022 3145 4945 3067 4304 5016 4624 1612 13 1335 3613 1086 2210 386 3464 1156 3352 4341 5006 3465 3900 622 654 1826 2983 1250 4164 3335 4308 2995 1982 1347 4335 2535 5054 4...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
wrong answer 1st words differ - expected: '1263815', found: '0'