QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#190947 | #5140. Frozen Scoreboard | chroneZ | AC ✓ | 49ms | 3528kb | C++17 | 3.1kb | 2023-09-29 16:09:33 | 2023-09-29 16:09:33 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
struct Query {string op; int x, y;};
pair<int, int> val(string t) {
int x = 0, y = 0, cur = 0;
for(int i = 0; i < t.size(); i++) {
if(t[i] == '/') {
cur = 1;
continue;
}
if(cur == 0) {
x = x * 10 + (t[i] ^ 48);
} else {
y = y * 10 + (t[i] ^ 48);
}
}
return {x, y};
}
struct Range {
int l, r;
inline friend Range operator + (Range x, Range y) {
return {x.l + y.l, x.r + y.r};
}
};
void solve(int m) {
int T, P; cin >> T >> P;
vector<Query> a(m);
vector<int> p; vector<Range> q;
for(int i = 0; i < m; i++) {
auto &[op, x, y] = a[i];
cin >> op;
if(op == "+") {
string t; cin >> t;
auto [v1, v2] = val(t);
x = v1, y = v2;
T--, P -= y + (x - 1) * 20;
}
if(op == "-") {
cin >> x;
}
if(op == "?") {
cin >> x >> y;
p.push_back(i);
q.push_back({(y - x) * 20 + 240, (y - 1) * 20 + 299});
}
if(op == ".") {
continue;
}
}
if(T < 0 || P < 0) {
cout << "No\n";
return;
}
for(int s = 0; s < (1 << p.size()); s++) {
if(__builtin_popcount(s) != T) {
continue;
}
Range t = {0, 0};
for(int i = 0; i < p.size(); i++) {
if(!(s >> i & 1)) continue;
t = t + q[i];
}
if(t.l <= P && P <= t.r) {
if(s == 0) {
cout << "Yes\n";
for(int j = 0; j < m; j++) {
if(a[j].op != "?") {
if(a[j].op == "+") {
cout << a[j].op << " " << a[j].x << "/" << a[j].y << "\n";
}
if(a[j].op == "-") {
cout << a[j].op << " " << a[j].x << "\n";
}
if(a[j].op == ".") {
cout << a[j].op << "\n";
}
} else {
cout << "- " << a[j].y << "\n";
}
}
return;
}
for(int i = 0; i < p.size(); i++) {
if(!(s >> i & 1)) continue;
P -= q[i].l;
}
for(int i = 0; i < p.size(); i++) {
if((!(s >> i & 1)) && s != 0) continue;
if(P <= q[i].r - q[i].l) {
cout << "Yes\n";
int tail = -1;
int id = p[i];
int occ = P / 20;
int d = min(a[id].x - 1, occ);
P -= d * 20;
for(int j = 0; j < m; j++) {
if(a[j].op != "?") {
if(a[j].op == "+") {
cout << a[j].op << " " << a[j].x << "/" << a[j].y << "\n";
}
if(a[j].op == "-") {
cout << a[j].op << " " << a[j].x << "\n";
}
if(a[j].op == ".") {
cout << a[j].op << "\n";
}
} else {
tail++;
if(!(s >> tail & 1)) {
cout << "- " << a[j].y << "\n";
continue;
}
if(tail == i) {
cout << "+ " << a[j].y - a[j].x + d + 1 << "/" << 240 + P << "\n";
} else if(tail < i) {
cout << "+ " << a[j].y << "/" << 299 << "\n";
} else {
cout << "+ " << a[j].y - a[j].x + 1 << "/" << 240 << "\n";
}
}
}
return;
} else {
P -= q[i].r - q[i].l;
}
}
}
}
cout << "No\n";
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
int n, m; cin >> n >> m;
while(n--) {
solve(m);
}
}
/*
Author: chroneZ
Start thinking at
Start coding at
Finish debugging at
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3420kb
input:
1 13 7 951 + 1/6 ? 3 4 + 4/183 - 2 + 3/217 . . . + 2/29 + 1/91 . + 1/22 .
output:
Yes + 1/6 + 3/243 + 4/183 - 2 + 3/217 . . . + 2/29 + 1/91 . + 1/22 .
result:
ok ok (1 test case)
Test #2:
score: 0
Accepted
time: 0ms
memory: 3420kb
input:
6 2 1 100 . ? 3 4 2 100 + 1/1 + 1/2 0 0 - 5 - 6 2 480 ? 100 100 ? 100 100 2 480 ? 99 100 ? 100 100 1 2000 ? 100 100 ? 100 100
output:
No No Yes - 5 - 6 Yes + 1/240 + 1/240 No Yes + 89/240 - 100
result:
ok ok (6 test cases)
Test #3:
score: 0
Accepted
time: 3ms
memory: 3412kb
input:
1000 13 6 1519 + 3/183 - 1 + 9/133 ? 2 3 - 5 ? 1 3 - 5 ? 1 1 ? 1 3 - 5 + 1/165 - 6 ? 2 5 2 570 - 2 - 9 . - 1 - 7 - 6 + 4/179 - 2 ? 2 5 . - 2 ? 1 3 . 1 140 . - 2 . - 2 - 1 - 2 - 2 . . . . + 3/100 . 1 195 + 1/195 . . . . . . . . ? 1 1 . . . 0 0 . . . . . . . . . . . . . 3 776 ? 8 22 ? 1 8 - 6 + 1/173 ...
output:
Yes + 3/183 - 1 + 9/133 + 3/278 - 5 + 3/240 - 5 + 1/240 - 3 - 5 + 1/165 - 6 - 5 Yes - 2 - 9 . - 1 - 7 - 6 + 4/179 - 2 + 5/251 . - 2 - 3 . Yes . - 2 . - 2 - 1 - 2 - 2 . . . . + 3/100 . Yes + 1/195 . . . . . . . . - 1 . . . Yes . . . . . . . . . . . . . Yes - 22 - 8 - 6 + 1/173 - 11 - 9 - 3 - 6 + 6/25...
result:
ok ok (1000 test cases)
Test #4:
score: 0
Accepted
time: 1ms
memory: 3436kb
input:
1000 13 0 0 . . . - 1 . - 5 . - 2 - 2 - 1 - 9 - 2 . 0 0 - 7 - 1 ? 2 2 - 2 - 4 . - 1 - 3 - 6 - 1 ? 4 6 . - 1 2 480 + 4/120 - 3 - 5 . - 11 - 1 - 4 - 4 - 3 ? 13 22 . + 9/140 ? 1 5 3 465 . . . + 1/124 . + 1/139 . . + 1/202 . . . . 3 885 - 1 - 4 - 4 + 4/158 . + 9/138 ? 1 8 . ? 1 3 . - 4 ? 2 5 . 6 970 - 4...
output:
Yes . . . - 1 . - 5 . - 2 - 2 - 1 - 9 - 2 . Yes - 7 - 1 - 2 - 2 - 4 . - 1 - 3 - 6 - 1 - 6 . - 1 Yes + 4/120 - 3 - 5 . - 11 - 1 - 4 - 4 - 3 - 22 . + 9/140 - 5 Yes . . . + 1/124 . + 1/139 . . + 1/202 . . . . Yes - 1 - 4 - 4 + 4/158 . + 9/138 - 8 . - 3 . - 4 + 5/289 . No Yes - 2 + 1/205 - 1 + 1/106 - 1...
result:
ok ok (1000 test cases)
Test #5:
score: 0
Accepted
time: 3ms
memory: 3408kb
input:
1000 13 5 1620 - 2 - 1 ? 2 4 ? 4 5 + 6/213 . + 6/231 ? 2 4 + 7/215 . . ? 2 6 ? 1 1 2 975 ? 1 4 - 2 - 6 . ? 2 12 ? 1 4 ? 2 7 - 3 - 1 ? 2 19 ? 2 2 - 2 ? 1 1 0 0 . . - 3 - 1 . - 1 - 4 . - 1 . - 1 - 1 - 3 4 1342 . - 6 - 2 - 4 - 8 - 6 + 14/95 ? 2 2 ? 1 9 ? 6 10 - 7 + 4/205 ? 3 5 5 1019 . . . + 2/116 . - ...
output:
Yes - 2 - 1 + 4/299 + 3/242 + 6/213 . + 6/231 - 4 + 7/215 . . - 6 - 1 Yes + 4/299 - 2 - 6 . - 12 - 4 - 7 - 3 - 1 + 19/256 - 2 - 2 - 1 Yes . . - 3 - 1 . - 1 - 4 . - 1 . - 1 - 1 - 3 Yes . - 6 - 2 - 4 - 8 - 6 + 14/95 + 2/299 + 9/243 - 10 - 7 + 4/205 - 5 Yes . . . + 2/116 . - 1 + 3/127 . . + 1/275 + 4/1...
result:
ok ok (1000 test cases)
Test #6:
score: 0
Accepted
time: 3ms
memory: 3428kb
input:
1000 13 0 0 . . . . - 1 . ? 1 4 . . - 1 . . - 1 5 1008 - 2 - 2 . + 4/157 . . + 2/145 - 3 + 2/125 . + 1/233 + 4/188 - 5 0 0 . . ? 1 1 . . . . . . . . . . 6 1359 + 1/100 + 2/144 - 4 + 2/238 - 2 - 2 + 4/107 + 4/214 . ? 3 6 + 9/236 - 4 - 6 8 3064 + 20/155 . - 17 - 11 ? 9 10 ? 11 30 - 1 ? 6 13 + 6/113 + ...
output:
Yes . . . . - 1 . - 4 . . - 1 . . - 1 Yes - 2 - 2 . + 4/157 . . + 2/145 - 3 + 2/125 . + 1/233 + 4/188 - 5 Yes . . - 1 . . . . . . . . . . Yes + 1/100 + 2/144 - 4 + 2/238 - 2 - 2 + 4/107 + 4/214 . - 6 + 9/236 - 4 - 6 Yes + 20/155 . - 17 - 11 + 5/242 + 20/240 - 1 - 13 + 6/113 + 2/221 + 4/240 + 12/151 ...
result:
ok ok (1000 test cases)
Test #7:
score: 0
Accepted
time: 3ms
memory: 3432kb
input:
1000 13 2 501 ? 1 8 - 1 + 4/208 - 5 - 1 - 19 + 4/173 - 11 . - 11 ? 1 1 . - 10 4 599 - 2 . - 12 . + 1/142 + 3/85 - 3 ? 4 8 + 4/80 . - 1 . + 3/152 13 3774 ? 2 7 ? 2 3 + 12/162 + 2/112 + 4/174 + 12/156 + 2/163 + 2/168 + 12/186 + 6/191 + 8/43 ? 1 2 ? 1 16 8 2408 ? 2 5 ? 1 1 ? 6 14 + 4/204 . + 2/97 + 2/2...
output:
Yes - 8 - 1 + 4/208 - 5 - 1 - 19 + 4/173 - 11 . - 11 - 1 . - 10 Yes - 2 . - 12 . + 1/142 + 3/85 - 3 - 8 + 4/80 . - 1 . + 3/152 No Yes + 5/299 + 1/299 + 11/244 + 4/204 . + 2/97 + 2/222 + 10/230 . - 7 . - 1 + 2/233 Yes . - 8 - 4 - 4 - 2 . - 7 . . - 10 - 5 - 3 - 4 Yes + 5/293 + 1/173 . - 2 - 1 + 5/238 ...
result:
ok ok (1000 test cases)
Test #8:
score: 0
Accepted
time: 23ms
memory: 3432kb
input:
1000 13 1 19917 ? 30 39 ? 79 81 ? 32 33 ? 35 95 ? 14 84 ? 6 17 ? 11 31 ? 5 8 ? 34 89 ? 38 50 ? 10 10 ? 22 54 ? 5 92 1 16730 ? 56 59 ? 40 55 ? 42 54 ? 5 9 ? 65 79 ? 7 11 ? 25 34 ? 2 10 ? 29 51 ? 2 7 ? 39 48 ? 4 67 ? 24 36 8 17772 ? 17 35 ? 36 46 ? 42 63 ? 2 11 ? 59 84 ? 4 36 ? 9 21 ? 76 86 ? 48 89 ? ...
output:
No No No Yes + 95/299 + 22/299 - 22 + 77/241 - 8 - 8 + 74/240 - 40 - 60 - 38 - 25 - 99 - 52 No No No Yes + 54/299 + 31/299 + 52/299 + 11/299 + 20/299 + 74/299 - 14 + 55/247 + 92/240 - 67 - 9 - 55 - 97 No Yes + 75/299 + 52/299 + 25/249 - 3 - 9 - 89 - 17 - 79 - 44 - 71 - 39 - 44 - 12 No No No No No Ye...
result:
ok ok (1000 test cases)
Test #9:
score: 0
Accepted
time: 23ms
memory: 3480kb
input:
1000 13 11 8761 ? 14 96 ? 9 35 ? 12 16 ? 28 55 ? 2 27 ? 6 7 ? 17 50 ? 25 31 ? 4 11 ? 62 98 ? 10 19 ? 3 3 ? 9 13 6 12408 ? 46 73 ? 22 46 ? 24 66 ? 19 43 ? 13 17 ? 2 3 ? 14 23 ? 6 6 ? 61 67 ? 17 25 ? 1 62 ? 59 64 ? 2 32 10 4393 ? 11 90 ? 19 58 ? 61 98 ? 42 43 ? 55 69 ? 32 35 ? 26 70 ? 2 5 ? 14 65 ? 16...
output:
Yes + 96/299 + 35/299 + 16/299 + 37/244 + 26/240 + 2/240 + 34/240 + 7/240 + 8/240 + 37/240 + 10/240 - 3 - 13 No No No Yes - 30 + 68/299 - 30 - 33 + 59/299 + 81/241 + 43/240 - 80 - 43 - 1 - 25 - 81 - 19 Yes + 11/241 + 6/240 + 50/240 + 6/240 - 75 - 52 + 4/240 + 3/240 + 1/240 + 19/240 - 26 - 9 - 7 Yes ...
result:
ok ok (1000 test cases)
Test #10:
score: 0
Accepted
time: 22ms
memory: 3508kb
input:
1000 13 8 4901 ? 16 42 ? 66 89 ? 67 91 ? 6 10 ? 1 63 ? 2 10 ? 44 65 ? 22 45 ? 2 29 ? 27 47 ? 18 32 ? 11 64 ? 17 30 11 12279 ? 65 99 ? 20 33 ? 57 71 ? 20 68 ? 38 58 ? 4 4 ? 2 4 ? 19 95 ? 58 74 ? 23 39 ? 29 71 ? 17 49 ? 4 32 3 11014 ? 9 37 ? 15 61 ? 3 34 ? 5 78 ? 24 54 ? 26 34 ? 18 23 ? 4 20 ? 26 36 ?...
output:
Yes + 27/241 + 24/240 + 25/240 + 5/240 - 63 + 9/240 + 22/240 + 24/240 - 29 + 21/240 - 32 - 64 - 30 Yes + 99/299 + 33/299 + 71/299 + 68/299 + 52/243 + 1/240 + 3/240 + 77/240 + 17/240 + 17/240 + 43/240 - 49 - 32 No No No No No Yes - 9 + 76/299 - 18 + 87/299 - 10 - 12 - 3 + 65/299 + 89/299 - 25 + 67/24...
result:
ok ok (1000 test cases)
Test #11:
score: 0
Accepted
time: 22ms
memory: 3408kb
input:
1000 13 5 2258 ? 89 96 ? 6 46 ? 8 75 ? 18 66 ? 1 3 ? 35 96 ? 60 88 ? 4 68 ? 12 51 ? 84 95 ? 7 46 ? 9 21 ? 52 52 11 12149 ? 27 29 ? 11 32 ? 61 76 ? 89 94 ? 26 96 ? 80 97 ? 89 89 ? 25 84 ? 20 90 ? 51 57 ? 60 89 ? 18 35 ? 3 28 8 10339 ? 81 92 ? 32 72 ? 54 73 ? 3 9 ? 29 35 ? 24 25 ? 70 72 ? 23 36 ? 4 16...
output:
Yes + 12/258 - 46 - 75 - 66 + 3/240 - 96 + 29/240 - 68 - 51 + 12/240 - 46 - 21 + 1/240 Yes + 29/299 + 32/299 + 76/299 + 82/252 + 71/240 + 18/240 + 1/240 + 60/240 + 71/240 + 7/240 + 30/240 - 35 - 28 Yes + 92/299 + 72/299 + 73/299 + 9/299 + 35/299 + 25/299 + 72/299 + 30/246 - 16 - 27 - 7 - 1 - 26 Yes ...
result:
ok ok (1000 test cases)
Test #12:
score: 0
Accepted
time: 21ms
memory: 3464kb
input:
1000 13 6 11102 ? 16 53 ? 83 100 ? 52 62 ? 10 25 ? 23 46 ? 59 86 ? 1 3 ? 78 90 ? 23 62 ? 11 40 ? 51 55 ? 19 78 ? 52 73 11 19315 ? 48 48 ? 14 23 ? 13 89 ? 2 28 ? 27 29 ? 97 98 ? 30 70 ? 77 80 ? 67 97 ? 10 83 ? 4 11 ? 4 28 ? 1 24 10 16960 ? 41 47 ? 9 80 ? 2 8 ? 26 32 ? 1 20 ? 24 24 ? 10 17 ? 37 63 ? 3...
output:
Yes - 53 + 100/299 + 62/299 - 25 - 46 + 86/299 - 3 + 90/299 + 62/299 - 40 - 55 + 74/247 - 73 No No Yes + 62/299 + 20/299 + 66/299 - 26 + 45/299 + 57/299 + 36/299 - 33 + 55/253 - 16 - 100 - 81 - 79 No Yes + 19/255 + 43/240 - 88 + 19/240 + 3/240 + 16/240 - 40 + 3/240 - 63 - 16 - 80 - 19 - 57 No No Yes...
result:
ok ok (1000 test cases)
Test #13:
score: 0
Accepted
time: 39ms
memory: 3528kb
input:
1000 13 6 2161 ? 11 17 ? 5 36 ? 88 95 ? 31 44 ? 59 85 ? 7 18 ? 35 88 ? 4 8 ? 2 89 ? 20 30 ? 58 88 ? 14 40 ? 22 30 7 3123 ? 19 30 ? 15 19 ? 84 90 ? 65 84 ? 59 71 ? 9 54 ? 2 92 ? 2 9 ? 21 42 ? 15 44 ? 17 33 ? 32 99 ? 19 19 7 3439 ? 51 72 ? 24 37 ? 19 36 ? 60 91 ? 57 61 ? 5 23 ? 25 76 ? 41 95 ? 9 24 ? ...
output:
No Yes + 25/243 + 5/240 + 7/240 + 20/240 + 13/240 - 54 - 92 + 8/240 - 42 - 44 - 33 - 99 + 1/240 Yes + 22/259 + 14/240 + 18/240 - 91 + 5/240 + 19/240 - 76 - 95 - 24 + 4/240 + 12/240 - 97 - 12 Yes - 59 + 2/299 - 64 + 11/299 + 13/250 + 3/240 - 58 + 4/240 + 1/240 - 95 - 19 - 80 - 11 No No No Yes + 1/299...
result:
ok ok (1000 test cases)
Test #14:
score: 0
Accepted
time: 41ms
memory: 3428kb
input:
1000 13 6 2111 ? 8 61 ? 1 14 ? 36 64 ? 3 32 ? 16 63 ? 19 62 ? 19 21 ? 14 17 ? 3 52 ? 33 83 ? 51 66 ? 13 23 ? 12 43 7 2808 ? 5 8 ? 21 85 ? 10 22 ? 23 84 ? 17 50 ? 24 61 ? 3 6 ? 4 63 ? 7 30 ? 25 76 ? 18 92 ? 23 39 ? 19 39 6 1989 ? 91 93 ? 28 41 ? 17 53 ? 66 73 ? 7 26 ? 35 50 ? 2 2 ? 3 86 ? 29 32 ? 10 ...
output:
No No Yes + 4/249 + 14/240 - 53 + 8/240 - 26 - 50 + 1/240 - 86 + 4/240 - 44 - 22 + 2/240 - 68 Yes + 14/240 + 22/240 + 4/240 + 11/240 + 35/240 + 1/240 + 1/240 - 71 - 82 - 90 - 89 - 43 - 86 No No Yes + 29/246 + 20/240 + 8/240 + 8/240 - 87 + 16/240 + 3/240 - 35 - 15 - 69 - 53 - 29 - 63 No No No No No N...
result:
ok ok (1000 test cases)
Test #15:
score: 0
Accepted
time: 49ms
memory: 3468kb
input:
1000 13 6 11435 ? 11 17 ? 5 36 ? 88 95 ? 31 44 ? 59 85 ? 7 18 ? 35 88 ? 4 8 ? 2 89 ? 20 30 ? 58 88 ? 14 40 ? 22 30 7 12636 ? 19 30 ? 15 19 ? 84 90 ? 65 84 ? 59 71 ? 9 54 ? 2 92 ? 2 9 ? 21 42 ? 15 44 ? 17 33 ? 32 99 ? 19 19 7 12572 ? 51 72 ? 24 37 ? 19 36 ? 60 91 ? 57 61 ? 5 23 ? 25 76 ? 41 95 ? 9 24...
output:
Yes - 17 - 36 + 95/299 + 44/299 + 85/299 - 18 + 88/299 - 8 + 89/299 - 30 + 88/280 - 40 - 30 No Yes + 72/299 - 37 - 36 + 91/299 + 61/299 - 23 + 76/299 + 95/299 - 24 - 9 + 39/299 + 97/298 - 12 No No No No No Yes + 87/299 - 11 + 53/299 + 70/299 + 34/299 - 23 + 66/299 - 27 - 25 + 89/299 + 36/296 - 22 - ...
result:
ok ok (1000 test cases)
Test #16:
score: 0
Accepted
time: 46ms
memory: 3472kb
input:
1000 13 6 9645 ? 8 61 ? 1 14 ? 36 64 ? 3 32 ? 16 63 ? 19 62 ? 19 21 ? 14 17 ? 3 52 ? 33 83 ? 51 66 ? 13 23 ? 12 43 7 12161 ? 5 8 ? 21 85 ? 10 22 ? 23 84 ? 17 50 ? 24 61 ? 3 6 ? 4 63 ? 7 30 ? 25 76 ? 18 92 ? 23 39 ? 19 39 6 10123 ? 91 93 ? 28 41 ? 17 53 ? 66 73 ? 7 26 ? 35 50 ? 2 2 ? 3 86 ? 29 32 ? 1...
output:
Yes + 61/299 - 14 + 64/299 - 32 + 63/299 + 62/299 - 21 - 17 - 52 + 83/299 + 66/290 - 23 - 43 Yes - 8 + 85/299 - 22 + 84/299 + 50/299 + 61/299 - 6 + 63/299 - 30 + 76/299 + 92/287 - 39 - 39 Yes + 93/299 - 41 + 53/299 + 73/299 - 26 + 50/299 - 2 + 86/299 - 32 - 44 - 22 - 5 + 68/288 No No Yes + 61/299 + ...
result:
ok ok (1000 test cases)
Test #17:
score: 0
Accepted
time: 1ms
memory: 3432kb
input:
21 13 13 0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 12 0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 13 1 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 12 0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/...
output:
Yes + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 No No Yes + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 + 1/0 - 1 No Yes . . . . . . . . . . . . . No Yes - 100 - 100 - 100 - 100 - 100 - 100 - 100 - 100 - 100 - 100 - 100 - 100 - 100 Yes - 100 - 10...
result:
ok ok (21 test cases)