QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#338599 | #6570. Who Watches the Watchmen? | ckiseki | AC ✓ | 479ms | 4920kb | C++23 | 6.4kb | 2024-02-26 03:13:40 | 2024-02-26 03:13:41 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define all(x) begin(x), end(x)
#ifdef CKISEKI
#define safe cerr << __PRETTY_FUNCTION__ << " line " << __LINE__ << " safe\n"
#define debug(a...) debug_(#a, a)
#define orange(a...) orange_(#a, a)
#include <experimental/iterator>
void debug_(auto s, auto ...a) {
cerr << "\e[1;32m(" << s << ") = (";
int f = 0;
(..., (cerr << (f++ ? ", " : "") << a));
cerr << ")\e[0m\n";
}
void orange_(auto s, auto L, auto R) {
cerr << "\e[1;33m[ " << s << " ] = [ ";
using namespace experimental;
copy(L, R, make_ostream_joiner(cerr, ", "));
cerr << " ]\e[0m\n";
}
#else
#define safe ((void)0)
#define debug(...) safe
#define orange(...) safe
#endif
using lld = int64_t;
struct P3 {
lld x, y, z;
P3 operator+(const P3 &b) const {
return {x+b.x, y+b.y, z+b.z};
}
P3 operator-(const P3 &b) const {
return {x-b.x, y-b.y, z-b.z};
}
P3 operator-() const {
return {-x, -y, -z};
}
bool operator==(const P3 &b) const {
return x==b.x && y==b.y && z==b.z;
}
bool operator<(const P3 &b) const {
return tuple(x, y, z) < tuple(b.x, b.y, b.z);
}
};
P3 reduced(const P3 &p) {
lld g = abs(gcd(gcd(p.x, p.y), p.z));
return {p.x / g, p.y / g, p.z / g};
}
lld dot(const P3 &a, const P3 &b) {
return a.x*b.x+a.y*b.y+a.z*b.z;
}
lld norm(const P3 &p) {
return dot(p, p);
}
P3 cross(const P3 &a, const P3 &b) {
return {a.y*b.z-a.z*b.y, a.z*b.x-a.x*b.z, a.x*b.y-a.y*b.x};
}
bool same_dir(const P3 &a, const P3 &b) {
return cross(a, b) == P3(0, 0, 0) && dot(a, b) > 0;
}
struct Ray {
P3 s, dir;
Ray(P3 t_s, P3 t_dir) : s(t_s), dir(t_dir) {}
};
bool intersect(const Ray &a, const Ray &b) {
if (dot(a.s - b.s, cross(a.dir, b.dir)) != 0)
return false;
return
same_dir(cross(b.s - a.s, b.dir), cross(a.dir, b.dir)) &&
same_dir(cross(a.s - b.s, a.dir), cross(b.dir, a.dir));
}
const lld INF = 1e18;
bool chmin(auto &x, auto v) {
if (x > v) return x = v, true;
return false;
}
struct KM { // maximize, test @ UOJ 80
int n, l, r; lld ans; // fl and fr are the match
vector<lld> hl, hr; vector<int> fl, fr, pre, q;
void bfs(const auto &w, int s) {
vector<int> vl(n), vr(n); vector<lld> slk(n, INF);
l = r = 0; vr[q[r++] = s] = true;
const auto check = [&](int x) -> bool {
if (vl[x] || slk[x] > 0) return true;
vl[x] = true; slk[x] = INF;
if (fl[x] != -1) return (vr[q[r++] = fl[x]] = true);
while (x != -1) swap(x, fr[fl[x] = pre[x]]);
return false;
};
while (true) {
while (l < r)
for (int x = 0, y = q[l++]; x < n; ++x) if (!vl[x])
if (chmin(slk[x], hl[x] + hr[y] - w[x][y]))
if (pre[x] = y, !check(x)) return;
lld d = ranges::min(slk);
for (int x = 0; x < n; ++x)
vl[x] ? hl[x] += d : slk[x] -= d;
for (int x = 0; x < n; ++x) if (vr[x]) hr[x] -= d;
for (int x = 0; x < n; ++x) if (!check(x)) return;
}
}
KM(int n_, const auto &w) : n(n_), ans(0),
hl(n), hr(n), fl(n, -1), fr(fl), pre(n), q(n) {
for (int i = 0; i < n; ++i) hl[i]=ranges::max(w[i]);
for (int i = 0; i < n; ++i) bfs(w, i);
for (int i = 0; i < n; ++i) ans += w[i][fl[i]];
}
};
const int inf = 1e9;
signed main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n;
cin >> n;
vector<P3> p(n), v(n);
for (int i = 0; i < n; i++) {
cin >> p[i].x >> p[i].y >> p[i].z;
cin >> v[i].x >> v[i].y >> v[i].z;
}
if (n == 1) {
cout << -1 << '\n';
return 0;
}
bool colinear = true;
for (int i = 2; i < n; i++) {
if (cross(p[i] - p[0], p[1] - p[0]) != P3(0, 0, 0)) {
colinear = false;
break;
}
}
if (colinear && n % 2 == 1) {
auto solveTwo = [&](int i, int j) {
int res = 0;
if (!same_dir(p[i] - p[j], v[j]))
++res;
if (!same_dir(p[j] - p[i], v[i]))
++res;
return res;
};
vector<int> idx(n);
iota(all(idx), 0);
sort(all(idx), [&](int a, int b) {
return dot(p[a] - p[0], p[1] - p[0]) < dot(p[b] - p[0], p[1] - p[0]);
});
int ans = 1e9;
for (int _ = 0; _ < 2; _++) {
orange(all(idx));
auto V = p[idx[1]] - p[idx[0]];
for (int s = 0; s < n; s++) {
auto tmp = idx;
tmp.erase(find(all(tmp), s));
vector<int> pre(n, inf);
pre[0] = 0;
for (int l = 0; l + 1 < ssize(tmp); l += 2) {
pre[l + 2] = pre[l] + solveTwo(tmp[l], tmp[l + 1]);
}
for (int l = 0; l < n; l += 2) {
int middle = 0;
for (int r = l; r < n; r++) {
if (r != l && r % 2 == 0) {
int cur = middle + pre[l] + (pre[n - 1] - pre[r]);
if (!same_dir(v[tmp[r - 1]], V)) {
--cur;
}
Ray A(p[tmp[l]], -v[s]);
Ray B(p[tmp[r - 1]], v[tmp[r - 1]]);
bool left_colinear = cross(v[s], V) == P3(0, 0, 0);
bool right_colinear = cross(v[tmp[r - 1]], V) == P3(0, 0, 0);
debug(cur, l, r);
debug(s, pre[l], pre[n - 1] - pre[r], middle);
if (left_colinear || right_colinear) {
cur += left_colinear;
cur += right_colinear;
} else if (!intersect(A, B)) {
++cur;
}
ans = min(ans, cur + 1000);
}
if (!same_dir(v[tmp[r]], V)) {
++middle;
}
}
}
}
reverse(all(idx));
}
cout << ans << '\n';
return 0;
}
auto w = vector(n, vector(n, -inf));
for (int i = 0; i < n; i++) {
map<P3, int> mp;
for (int j = 0; j < n; j++) if (j != i) {
auto r = reduced(p[j] - p[i]);
debug(r.x, r.y, r.z);
if (auto it = mp.find(r); it != mp.end()) {
if (norm(p[it->second] - p[i]) > norm(p[j] - p[i])) {
it->second = j;
} else {
debug(j, it->second);
assert(norm(p[it->second] - p[i]) < norm(p[j] - p[i]));
}
} else {
mp[r] = j;
}
}
for (auto [_, j] : mp) {
debug(i, j);
if (same_dir(p[j] - p[i], v[i])) {
w[i][j] = 1;
} else {
w[i][j] = 0;
}
}
}
auto ma = KM(n, w);
cout << n - ma.ans << '\n';
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3544kb
input:
7 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 -1 0 0
output:
1002
result:
ok single line: '1002'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3692kb
input:
4 66 45 10 73 39 36 95 14 26 47 84 59 14 66 89 89 36 78 16 27 94 79 24 24
output:
4
result:
ok single line: '4'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
3 0 0 0 1 0 0 1 1 1 1 0 0 2 2 2 1 0 0
output:
1002
result:
ok single line: '1002'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3888kb
input:
3 0 0 0 1 1 1 1 1 1 1 0 0 2 2 2 1 0 0
output:
1001
result:
ok single line: '1001'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
3 0 0 0 1 0 0 1 1 1 1 0 0 2 2 2 -1 -1 -1
output:
1001
result:
ok single line: '1001'
Test #6:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
3 0 0 0 1 0 0 1 1 1 1 2 2 2 2 2 -1 -1 -1
output:
1000
result:
ok single line: '1000'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
3 0 0 0 1 0 0 1 1 1 1 2 2 2 2 2 1 1 1
output:
1001
result:
ok single line: '1001'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
1 0 0 0 3 1 4
output:
-1
result:
ok single line: '-1'
Test #9:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
4 0 0 0 1 1 1 1 0 0 -1 0 0 1 1 1 0 -1 0 1 0 1 0 1 0
output:
1
result:
ok single line: '1'
Test #10:
score: 0
Accepted
time: 3ms
memory: 4432kb
input:
500 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 -1 0 0 3 0 0 1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0 11 0 0 -1 0 0 12 0 0 1 0 0 13 0 0 -1 0 0 14 0 0 1 0 0 15 0 0 1 0 0 16 0 0 1 0 0 17 0 0 -1 0 0 18 0 0 -1 0 0 19 0 0 -1 0 0 20 0 0 -1 0 0 21 0 0 1 0 0 22 0 0 1 0 0...
output:
250
result:
ok single line: '250'
Test #11:
score: 0
Accepted
time: 5ms
memory: 4540kb
input:
500 0 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 -1 0 0 3 0 0 1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0 11 0 0 -1 0 0 12 0 0 1 0 0 13 0 0 -1 0 0 14 0 0 1 0 0 15 0 0 1 0 0 16 0 0 1 0 0 17 0 0 -1 0 0 18 0 0 -1 0 0 19 0 0 -1 0 0 20 0 0 -1 0 0 21 0 0 1 0 0 22 0 0 1 0...
output:
250
result:
ok single line: '250'
Test #12:
score: 0
Accepted
time: 5ms
memory: 4424kb
input:
500 0 0 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 -1 0 0 3 0 0 1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0 11 0 0 -1 0 0 12 0 0 1 0 0 13 0 0 -1 0 0 14 0 0 1 0 0 15 0 0 1 0 0 16 0 0 1 0 0 17 0 0 -1 0 0 18 0 0 -1 0 0 19 0 0 -1 0 0 20 0 0 -1 0 0 21 0 0 1 0 0 22 0 0 1...
output:
250
result:
ok single line: '250'
Test #13:
score: 0
Accepted
time: 0ms
memory: 3900kb
input:
5 1 0 0 1 -1 0 2 0 0 0 1 0 3 0 0 -1 0 0 4 0 0 -1 0 0 5 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #14:
score: 0
Accepted
time: 0ms
memory: 3668kb
input:
5 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 0 0 1 0 5 0 0 -1 -1 0
output:
1000
result:
ok single line: '1000'
Test #15:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
6 0 1 0 1 0 0 0 2 0 0 2 0 0 3 0 0 3 0 0 4 0 0 4 0 0 5 0 0 5 0 0 6 0 0 6 0
output:
4
result:
ok single line: '4'
Test #16:
score: 0
Accepted
time: 0ms
memory: 3664kb
input:
9 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1
output:
3
result:
ok single line: '3'
Test #17:
score: 0
Accepted
time: 475ms
memory: 3596kb
input:
499 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 -1 0 0 3 0 0 1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0 11 0 0 -1 0 0 12 0 0 1 0 0 13 0 0 -1 0 0 14 0 0 1 0 0 15 0 0 1 0 0 16 0 0 1 0 0 17 0 0 -1 0 0 18 0 0 -1 0 0 19 0 0 -1 0 0 20 0 0 -1 0 0 21 0 0 1 0 0 22 0 0 1 0 0...
output:
1220
result:
ok single line: '1220'
Test #18:
score: 0
Accepted
time: 479ms
memory: 3732kb
input:
499 0 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 -1 0 0 3 0 0 1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0 11 0 0 -1 0 0 12 0 0 1 0 0 13 0 0 -1 0 0 14 0 0 1 0 0 15 0 0 1 0 0 16 0 0 1 0 0 17 0 0 -1 0 0 18 0 0 -1 0 0 19 0 0 -1 0 0 20 0 0 -1 0 0 21 0 0 1 0 0 22 0 0 1 0...
output:
1220
result:
ok single line: '1220'
Test #19:
score: 0
Accepted
time: 477ms
memory: 3632kb
input:
499 0 0 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 -1 0 0 3 0 0 1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0 11 0 0 -1 0 0 12 0 0 1 0 0 13 0 0 -1 0 0 14 0 0 1 0 0 15 0 0 1 0 0 16 0 0 1 0 0 17 0 0 -1 0 0 18 0 0 -1 0 0 19 0 0 -1 0 0 20 0 0 -1 0 0 21 0 0 1 0 0 22 0 0 1...
output:
1220
result:
ok single line: '1220'
Test #20:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
5 0 0 0 0 -1 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 0 1 0 0
output:
1001
result:
ok single line: '1001'
Test #21:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
5 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 0 0 1 0
output:
1001
result:
ok single line: '1001'
Test #22:
score: 0
Accepted
time: 0ms
memory: 3888kb
input:
5 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 0 -1 0 3 0 0 1 0 0 4 0 0 -1 0 0
output:
1001
result:
ok single line: '1001'
Test #23:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
5 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 0 -1 0 4 0 0 1 0 0
output:
1001
result:
ok single line: '1001'
Test #24:
score: 0
Accepted
time: 0ms
memory: 3824kb
input:
5 0 0 0 1 1 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 0 -1 -1 0
output:
1001
result:
ok single line: '1001'
Test #25:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
5 0 0 0 1 1 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 0 1 1 0
output:
1001
result:
ok single line: '1001'
Test #26:
score: 0
Accepted
time: 0ms
memory: 3668kb
input:
5 0 0 0 5 -1 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 0 1 -1 0
output:
1001
result:
ok single line: '1001'
Test #27:
score: 0
Accepted
time: 0ms
memory: 3900kb
input:
17 0 0 0 0 0 1 0 1 0 0 0 1 0 2 0 0 0 1 0 3 0 0 0 1 0 4 0 0 0 1 0 -1 0 0 0 1 0 -2 0 0 0 1 0 -3 0 0 0 1 0 -4 0 0 0 1 1 3 0 0 0 1 2 3 0 0 0 1 -1 3 0 0 0 1 -2 3 0 0 0 1 1 -3 0 0 0 1 2 -3 0 0 0 1 -1 -3 0 0 0 1 -2 -3 0 0 0 1
output:
17
result:
ok single line: '17'
Test #28:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
17 0 0 0 0 4 0 0 1 0 0 -1 0 0 2 0 0 -2 0 0 3 0 0 -3 0 0 4 0 0 -4 0 0 -1 0 0 1 0 0 -2 0 0 2 0 0 -3 0 0 3 0 0 -4 0 0 4 0 1 3 0 -1 -3 0 2 3 0 -1 -2 0 -1 3 0 1 -3 0 -2 3 0 2 -3 0 1 -3 0 -1 3 0 2 -3 0 -2 3 0 -1 -3 0 1 3 0 -2 -3 0 2 3 0
output:
10
result:
ok single line: '10'
Test #29:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
17 0 0 0 0 1 0 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 2 -1 0 0 -1 0 0 1 0 0 -2 0 0 1 0 0 -3 0 0 1 0 0 -4 0 0 1 0 1 3 0 -1 0 0 2 3 0 -1 0 0 -1 3 0 -1 0 0 -2 3 0 4 -6 0 1 -3 0 -1 0 0 2 -3 0 -1 0 0 -1 -3 0 -1 0 0 -2 -3 0 2 -1 0
output:
3
result:
ok single line: '3'
Test #30:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
5 0 0 0 1 1 1 0 0 1 0 0 1 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 -1 1
output:
1001
result:
ok single line: '1001'
Test #31:
score: 0
Accepted
time: 62ms
memory: 4660kb
input:
500 -455212 958307 274912 -88656 390687 881409 -498879 -623821 322766 -916023 347922 541726 -594515 -554311 -413504 -881701 -506880 -144667 658945 -503396 791805 314816 -830920 -769486 -200847 845218 468338 -166468 -49854 -287877 -820402 914874 916800 258029 -210000 -296727 702016 -389491 -31529 -52...
output:
499
result:
ok single line: '499'
Test #32:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
3 1000000 -1 -1 -1000000 -999999 -999999 -1 1000000 -1 101 -101 0 100 999899 -1 999999 1000000 999999
output:
1000
result:
ok single line: '1000'
Test #33:
score: 0
Accepted
time: 0ms
memory: 3852kb
input:
3 1000000 -1 -1 1000000 999999 999999 -1 1000000 -1 101 -101 0 100 999899 -1 999999 1000000 999999
output:
1001
result:
ok single line: '1001'
Test #34:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
3 1000000 -1 -1 -1000000 -999999 -999999 -1 1000000 -1 101 -101 0 100 999899 -1 -999999 -1000000 -999999
output:
1001
result:
ok single line: '1001'
Test #35:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
3 1000000 -1 -1 1000000 999999 999999 -1 1000000 -1 101 -101 0 100 999899 -1 -999999 -1000000 -999999
output:
1001
result:
ok single line: '1001'
Test #36:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
3 10 -1 -1 -10 -9 -9 -1 10 -1 11 -11 0 21 -12 -1 9 10 9
output:
1000
result:
ok single line: '1000'
Test #37:
score: 0
Accepted
time: 0ms
memory: 3860kb
input:
7 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 0 -1 0 3 0 0 1 0 0 4 0 0 -1 1 0 5 0 0 1 0 0 6 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #38:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
7 0 0 0 1 0 0 1 0 0 0 -1 0 2 0 0 -1 0 0 3 0 0 1 0 0 4 0 0 -1 1 0 5 0 0 1 0 0 6 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #39:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
7 0 0 0 0 -1 0 1 0 0 1 0 0 2 0 0 -1 0 0 3 0 0 1 0 0 4 0 0 -1 1 0 5 0 0 1 0 0 6 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #40:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
7 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 1 0 4 0 0 0 -1 0 5 0 0 1 0 0 6 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #41:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
7 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 1 0 4 0 0 1 0 0 5 0 0 0 -1 0 6 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #42:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
7 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 1 0 4 0 0 1 0 0 5 0 0 -1 0 0 6 0 0 0 -1 0
output:
1000
result:
ok single line: '1000'
Test #43:
score: 0
Accepted
time: 0ms
memory: 3824kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 0 1 0 5 0 0 1 -1 0 6 0 0 -1 0 0 7 0 0 -1 0 0 8 0 0 -1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #44:
score: 0
Accepted
time: 0ms
memory: 3660kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 1 -1 0 5 0 0 0 1 0 6 0 0 -1 0 0 7 0 0 -1 0 0 8 0 0 -1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #45:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 0 1 0 5 0 0 -1 0 0 6 0 0 1 -1 0 7 0 0 -1 0 0 8 0 0 -1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #46:
score: 0
Accepted
time: 0ms
memory: 3700kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 0 1 0 5 0 0 -1 0 0 6 0 0 -1 0 0 7 0 0 1 -1 0 8 0 0 -1 0 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #47:
score: 0
Accepted
time: 0ms
memory: 3628kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 -1 -1 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 0 1 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #48:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 1 0 0 5 0 0 -1 -1 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 0 1 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #49:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 -1 -1 0 7 0 0 1 0 0 8 0 0 0 1 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #50:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 -1 -1 0 8 0 0 0 1 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #51:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
11 0 0 0 1 0 0 1 0 0 -1 0 0 2 0 0 1 0 0 3 0 0 -1 0 0 4 0 0 1 0 0 5 0 0 1 0 0 6 0 0 1 0 0 7 0 0 0 1 0 8 0 0 -1 -1 0 9 0 0 1 0 0 10 0 0 -1 0 0
output:
1000
result:
ok single line: '1000'
Test #52:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
27 -1000000 -1000000 -1000000 1000000 0 1000000 -1000000 -1000000 0 -1000000 0 1000000 -1000000 -1000000 1000000 -1000000 0 1000000 -1000000 0 -1000000 1000000 1000000 1000000 -1000000 0 0 0 -1000000 1000000 -1000000 0 1000000 1000000 -1000000 1000000 -1000000 1000000 -1000000 1000000 0 1000000 -100...
output:
17
result:
ok single line: '17'
Test #53:
score: 0
Accepted
time: 29ms
memory: 4540kb
input:
500 -999983 -999981 -999977 17 19 23 -999966 -999962 -999954 17 19 23 -999949 -999943 -999931 17 19 23 -999932 -999924 -999908 17 19 23 -999915 -999905 -999885 17 19 23 -999898 -999886 -999862 17 19 23 -999881 -999867 -999839 17 19 23 -999864 -999848 -999816 17 19 23 -999847 -999829 -999793 17 19 23...
output:
250
result:
ok single line: '250'
Test #54:
score: 0
Accepted
time: 29ms
memory: 4376kb
input:
500 999983 999981 999977 -17 -19 -23 999966 999962 999954 -17 -19 -23 999949 999943 999931 -17 -19 -23 999932 999924 999908 -17 -19 -23 999915 999905 999885 -17 -19 -23 999898 999886 999862 -17 -19 -23 999881 999867 999839 -17 -19 -23 999864 999848 999816 -17 -19 -23 999847 999829 999793 -17 -19 -23...
output:
250
result:
ok single line: '250'
Test #55:
score: 0
Accepted
time: 8ms
memory: 4544kb
input:
500 999686 -999841 999735 -314 159 -265 999372 -999682 999470 -314 159 -265 999058 -999523 999205 314 -159 265 998744 -999364 998940 -314 159 -265 998430 -999205 998675 -314 159 -265 998116 -999046 998410 -314 159 -265 997802 -998887 998145 -314 159 -265 997488 -998728 997880 -314 159 -265 997174 -9...
output:
250
result:
ok single line: '250'
Test #56:
score: 0
Accepted
time: 7ms
memory: 4544kb
input:
500 999900 -999800 999700 -100 200 -300 999800 -999600 999400 -100 200 -300 999700 -999400 999100 100 -200 300 999600 -999200 998800 -100 200 -300 999500 -999000 998500 -100 200 -300 999400 -998800 998200 -100 200 -300 999300 -998600 997900 -100 200 -300 999200 -998400 997600 -100 200 -300 999100 -9...
output:
250
result:
ok single line: '250'
Test #57:
score: 0
Accepted
time: 8ms
memory: 4804kb
input:
480 -2402 3028 3274 23 -29 -31 -79 99 143 23 -29 -31 3854 -4860 -5158 -23 29 31 1370 -1728 -1810 -23 29 31 -4127 5203 5599 23 -29 -31 -5461 6885 7397 23 -29 -31 2382 -3004 -3174 -23 29 31 -1965 2477 2685 23 -29 -31 2888 -3642 -3856 -23 29 31 -3782 4768 5134 23 -29 -31 1899 -2395 -2523 -23 29 31 59 -...
output:
122
result:
ok single line: '122'
Test #58:
score: 0
Accepted
time: 8ms
memory: 4872kb
input:
480 43422 13353 -25668 414 129 -256 1608 324 188 414 129 -256 -69186 -21735 43964 -414 -129 256 -24474 -7803 16316 -414 -129 256 74472 23028 -44868 414 129 -256 98484 30510 -59716 414 129 -256 -42690 -13479 27580 -414 -129 256 35556 10902 -20804 414 129 -256 -51798 -16317 33212 -414 -129 256 68262 2...
output:
123
result:
ok single line: '123'
Test #59:
score: 0
Accepted
time: 1ms
memory: 3856kb
input:
180 375 636 1057 -4 -8 -12 47 -20 73 4 8 12 331 548 925 -4 -8 -12 -29 -172 -155 4 8 12 -153 -420 -527 4 8 12 427 740 1213 -4 -8 -12 -173 -460 -587 4 8 12 -241 -596 -791 4 8 12 179 244 469 -4 -8 -12 159 204 409 -4 -8 -12 -161 -436 -551 4 8 12 399 684 1129 -4 -8 -12 223 332 601 -4 -8 -12 59 4 109 -4 -...
output:
42
result:
ok single line: '42'
Test #60:
score: 0
Accepted
time: 2ms
memory: 4124kb
input:
220 27 -85 15 12 8 4 927 515 315 -12 -8 -4 -93 -165 -25 12 8 4 1083 619 367 -12 -8 -4 39 -77 19 12 8 4 -1281 -957 -421 12 8 4 1143 659 387 -12 -8 -4 183 19 67 -12 -8 -4 1047 595 355 -12 -8 -4 567 275 195 -12 -8 -4 531 251 183 -12 -8 -4 -177 -221 -53 12 8 4 579 283 199 -12 -8 -4 -561 -477 -181 12 8 4...
output:
52
result:
ok single line: '52'
Test #61:
score: 0
Accepted
time: 1ms
memory: 3620kb
input:
60 -171 215 267 23 -29 -31 473 -597 -601 -23 29 31 312 -394 -384 -23 29 31 404 -510 -508 -23 29 31 197 -249 -229 -23 29 31 335 -423 -415 -23 29 31 -654 824 918 23 -29 -31 -493 621 701 23 -29 -31 565 -713 -725 -23 29 31 -217 273 329 23 -29 -31 -631 795 887 23 -29 -31 496 -626 -632 -23 29 31 -447 563 ...
output:
17
result:
ok single line: '17'
Test #62:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
3 -1 0 0 2 1 0 1 0 0 -2 1 0 3 0 0 -2 -1 0
output:
1001
result:
ok single line: '1001'
Test #63:
score: 0
Accepted
time: 0ms
memory: 3660kb
input:
5 0 0 0 0 1 0 10 0 0 -1 1 0 0 10 0 -1 -1 0 -10 0 0 1 -1 0 0 -10 0 1 1 0
output:
1
result:
ok single line: '1'
Test #64:
score: 0
Accepted
time: 0ms
memory: 3724kb
input:
5 0 2 0 0 1 0 10 0 0 -1 1 0 0 10 0 -1 -1 0 -10 0 0 1 -1 0 0 -10 0 1 1 0
output:
1
result:
ok single line: '1'
Test #65:
score: 0
Accepted
time: 62ms
memory: 4720kb
input:
500 464689 -654475 874948 278641 -792884 186354 -798268 -885245 366579 415873 -814492 568386 548594 757214 459960 -318745 -320885 285634 -970144 68165 91372 -935576 -557281 -82177 -71496 697792 859229 603072 -751718 -629380 -391402 -320266 -691800 99295 771407 -415586 131176 -704350 628899 959024 80...
output:
500
result:
ok single line: '500'
Test #66:
score: 0
Accepted
time: 62ms
memory: 4660kb
input:
500 660575 -715271 73415 436140 226362 12224 19467 916145 -662062 -510604 824283 454499 205202 -915814 -735123 -110822 -83586 808202 13120 -72969 106150 -211607 557293 169887 -5849 149098 -624091 831479 -195891 -854258 335561 -450902 467595 -612441 695943 -877490 -356999 -751820 -886079 499927 46503...
output:
500
result:
ok single line: '500'
Test #67:
score: 0
Accepted
time: 58ms
memory: 4720kb
input:
500 -425261 857089 -722463 345227 -983886 -779314 873569 -40018 -490178 580005 -863510 -254613 -435240 -520380 84908 -513784 564739 330588 -932188 -477605 -347322 492032 -294079 477227 -72311 862368 -29594 -887377 -627667 -608677 -775504 -953650 8567 -11911 -162415 -485409 822275 -380961 773749 9387...
output:
500
result:
ok single line: '500'
Test #68:
score: 0
Accepted
time: 61ms
memory: 4920kb
input:
500 -132886 502058 -877447 79042 35022 -322286 101780 -909854 172531 103616 -119015 -271777 289064 -256857 -663836 977205 -748931 -999133 -68650 848633 -3718 -874892 260143 -880264 399836 -18330 881394 -913991 761700 620864 642012 105194 -288186 637083 -765709 -480047 -818650 -112345 310067 -918378 ...
output:
500
result:
ok single line: '500'
Test #69:
score: 0
Accepted
time: 57ms
memory: 4716kb
input:
500 -455212 958307 274912 -88656 390687 881409 -498879 -623821 322766 -916023 347922 541726 -594515 -554311 -413504 -881701 -506880 -144667 658945 -503396 791805 314816 -830920 -769486 -200847 845218 468338 -166468 -49854 -287877 -820402 914874 916800 258029 -210000 -296727 702016 -389491 -31529 -52...
output:
500
result:
ok single line: '500'