QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#931597 | #1874. Goldberg Machine 2 | hhoppitree | AC ✓ | 1907ms | 83676kb | C++14 | 9.4kb | 2025-03-11 14:50:04 | 2025-03-11 14:50:06 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
string add1(string S) {
if (S == "") return "1";
++S.back();
for (int i = (int)S.size() - 1; i >= 0; --i) {
if (S[i] <= '9') break;
if (i == 0) {
S = "1" + S;
} else {
++S[i - 1];
}
S[i] -= 10;
}
return S;
}
string mul2(string S) {
for (auto &x : S) {
x = (x - '0') * 2 + '0';
}
int ad = 0;
for (int i = (int)S.size() - 1; i >= 0; --i) {
if (S[i] > '9') {
if (i == 0) ad = 1;
else ++S[i - 1];
S[i] -= 10;
}
}
if (ad) S = "1" + S;
return S;
}
const int N = 105, K = 20;
const int L = 32, I = 7;
const unsigned long long B = 1ll << L;
int n, m, q, c1[N][N], c2[N][N];
struct vec {
long long val[20];
int sz;
vec() {
sz = 0;
memset(val, 0, sizeof(val));
}
size_t size() {
return sz;
}
void resize(int x) {
sz = x;
}
bool empty() {
return sz == 0;
}
long long& operator [](int x) {
return val[x];
}
void push_back(long long x) {
val[sz++] = x;
}
long long& back() {
return val[sz - 1];
}
void pop_back() {
--sz;
}
};
struct uInt {
vec a;
friend uInt operator + (uInt x, uInt y) {
uInt res = x;
if (res.a.size() < y.a.size()) res.a.resize(y.a.size());
for (int i = 0; i < (int)res.a.size(); ++i) {
res.a[i] += (i < (int)y.a.size() ? y.a[i] : 0);
if (res.a[i] >= B) {
res.a[i] -= B;
if (i + 1 == (int)res.a.size()) res.a.push_back(0);
++res.a[i + 1];
}
}
return res;
}
friend uInt operator - (uInt x, uInt y) {
uInt res = x;
for (int i = 0; i < (int)res.a.size(); ++i) {
res.a[i] -= (i < (int)y.a.size() ? y.a[i] : 0);
if (res.a[i] < 0) {
res.a[i] += B, --res.a[i + 1];
}
}
while (!res.a.empty() && res.a.back() == 0) res.a.pop_back();
return res;
}
friend bool operator < (uInt x, uInt y) {
if (x.a.size() != y.a.size()) return x.a.size() < y.a.size();
for (int i = (int)x.a.size() - 1; ~i; --i) {
if (x.a[i] != y.a[i]) return x.a[i] < y.a[i];
}
return 0;
}
};
struct Int {
int sgn;
uInt a;
friend Int operator + (Int x, Int y) {
Int res;
if (x.sgn == y.sgn) {
res.sgn = x.sgn;
res.a = x.a + y.a;
} else {
if (x.a < y.a) swap(x, y);
res.sgn = x.sgn;
res.a = x.a - y.a;
if (res.a.a.empty()) res.sgn = 1;
}
return res;
}
friend Int operator - (Int x, Int y) {
if (!y.a.a.empty()) y.sgn ^= 1;
return x + y;
}
friend bool operator < (Int x, Int y) {
if (x.sgn != y.sgn) return x.sgn < y.sgn;
if (x.sgn == 1) return x.a < y.a;
return y.a < x.a;
}
int zero() {
int cnt = 0;
for (int i = 0; i < (int)a.a.size(); ++i) {
for (int j = 0; j < L; ++j) {
if (!((a.a[i] >> j) & 1)) ++cnt;
else break;
}
if (cnt != (i + 1) * L) break;
}
return cnt;
}
void print() {
if (a.a.empty()) {
puts("0");
return;
}
assert(sgn == 1);
string S = "";
for (int i = (int)a.a.size() - 1; ~i; --i) {
for (int j = 31; ~j; --j) {
S = mul2(S);
if ((a.a[i] >> j) & 1) S = add1(S);
}
}
puts(S.c_str());
}
};
Int f[N][N], g[N][N];
mt19937_64 rnd;
Int Rand() {
Int res;
res.sgn = 1;
for (int i = 0; i < I; ++i) res.a.a.push_back(0);
for (int i = 0; i < I; ++i) res.a.a.push_back(rnd() % B);
return res;
}
Int pw2(int p) {
Int res;
res.sgn = 1;
while (1) {
if (p >= L) res.a.a.push_back(0), p -= L;
else {
res.a.a.push_back(1ll << p), p = 0;
break;
}
}
return res;
}
Int d2(Int x) {
Int res;
res.sgn = x.sgn, res.a = x.a;
for (int i = (int)res.a.a.size() - 1; ~i; --i) {
if (res.a.a[i] & 1) res.a.a[i - 1] += B;
res.a.a[i] >>= 1;
}
while (!res.a.a.empty() && res.a.a.back() == 0) res.a.a.pop_back();
return res;
}
int p;
int getP() {
int res = 0;
for (int i = 0; i < K; ++i) {
for (int j = n + 1; j >= 1; --j) {
for (int k = m + 1; k >= 1; --k) {
if (j > n || k > m || c1[j][k] == 0) {
f[j][k] = Rand();
} else {
f[j][k] = d2(f[j][k + 1] + f[j + 1][k]);
}
}
}
res = max(res, L * I - f[1][1].zero());
}
return res;
}
int tc;
Int mf[K][N][N], mg[K][N][N];
void genP(int p) {
for (int i = 0; tc != K; ++i) {
for (int j = n + 1; j >= 1; --j) {
for (int k = m + 1; k >= 1; --k) {
if (j > n || k > m || c1[j][k] == 0) {
f[j][k] = Rand();
} else {
f[j][k] = d2(f[j][k + 1] + f[j + 1][k]);
g[j][k] = d2(f[j][k + 1] - f[j + 1][k]);
}
}
}
if (L * I - f[1][1].zero() == p) {
for (int j = 1; j <= n; ++j) {
for (int k = 1; k <= m; ++k) {
mf[tc][j][k] = f[j][k], mg[tc][j][k] = g[j][k];
}
}
++tc;
}
}
}
Int pwP, dlt[K], id[K], inv[K], eq[K];
Int trans(Int x) {
int len = p;
Int res;
res.sgn = x.sgn, res.a.a.resize((len + L - 1) / L);
for (int ri = L * I - 1, li; ri > L * I - 1 - len; ri = li - 1) {
int rj = ri - (L * I - 1 - len) - 1;
li = ri - min(ri & 31, rj & 31);
int lj = li - (L * I - 1 - len) - 1;
res.a.a[rj >> 5] |= ((x.a.a[ri >> 5] >> (li & 31)) & ((1ll << (ri - li + 1)) - 1)) << (lj & 31);
}
if (res.sgn == 0) res = res + pwP;
return res;
}
Int mod(Int x, int y) {
assert(x.sgn == 1);
x.a.a.resize((y + L - 1) / L);
if (y % L != 0) {
x.a.a.back() &= ((1ll << (y % L)) - 1);
}
return x;
}
Int prod(Int x, Int y, int p) {
assert(x.sgn == 1 && y.sgn == 1);
if (x.a.a.size() == 0) return x;
if (y.a.a.size() == 0) return y;
Int res;
res.sgn = 1;
vector<__int128> tmp(x.a.a.size() + y.a.a.size() - 1);
for (int i = 0; i < (int)x.a.a.size(); ++i) {
for (int j = 0; j < (int)y.a.a.size() && (i + j) * L < p; ++j) {
tmp[i + j] += (__int128)x.a.a[i] * y.a.a[j];
}
}
for (int i = 0; i < (int)tmp.size(); ++i) {
if (tmp[i] >= B) {
if (i + 1 == (int)tmp.size()) tmp.push_back(0);
tmp[i + 1] += tmp[i] >> L, tmp[i] &= (B - 1);
}
}
for (int i = 0; i < (int)tmp.size(); ++i) {
res.a.a.push_back(tmp[i]);
}
return mod(res, p);
}
Int Inv(Int x, int y) {
if (y <= 2) return x;
Int res = x;
for (int i = 1; i <= y - 3; ++i) {
x = prod(x, x, y), res = prod(res, x, y);
}
return res;
}
Int solve(int id) {
if (dlt[id].a.a.empty()) return dlt[id];
int len = L * I - dlt[id].zero();
if (len > p) return Rand();
Int mul = trans(dlt[id]), ans = prod(mul, inv[id], p);
return ans;
}
signed main() {
scanf("%d%d%d", &n, &m, &q);
for (int i = 1; i <= n; ++i) {
string S; cin >> S, S = ' ' + S;
for (int j = 1; j <= m; ++j) {
c1[i][j] = (S[j] == '.' ? 0 : (S[j] == 'v' ? 1 : 2));
}
}
for (int i = 1; i <= n; ++i) {
string S; cin >> S, S = ' ' + S;
for (int j = 1; j <= m; ++j) {
c2[i][j] = (S[j] == '.' ? 0 : (S[j] == 'v' ? 1 : 2));
}
}
p = getP(), pwP = pw2(p), genP(p);
for (int i = 0; i < K; ++i) {
id[i] = mf[i][1][1], inv[i] = Inv(trans(id[i]), p);
for (int j = 1; j <= n; ++j) {
for (int k = 1; k <= m; ++k) {
if (c2[j][k] == 1) dlt[i] = dlt[i] + mg[i][j][k];
if (c1[j][k] == 1) dlt[i] = dlt[i] - mg[i][j][k];
}
}
eq[i] = solve(i);
}
for (int t = 1; t <= q + 1; ++t) {
if (t != 1) {
int opt, x, y; scanf("%d%d%d", &opt, &x, &y);
for (int i = 0; i < K; ++i) {
if ((opt == 1) ^ ((opt == 1 ? c1 : c2)[x][y] == 1)) dlt[i] = dlt[i] - mg[i][x][y];
else dlt[i] = dlt[i] + mg[i][x][y];
}
for (int i = 0; i < K; ++i) {
eq[i] = solve(i);
if (eq[0] < eq[i] || eq[i] < eq[0]) break;
}
(opt == 1 ? c1 : c2)[x][y] ^= 3;
}
int flg = 1;
for (int i = 1; i < K; ++i) {
if (eq[0] < eq[i] || eq[i] < eq[0]) {
flg = 0;
break;
}
}
if (!flg) puts("-1");
else {
Int ans = eq[0];
if (pwP - ans < ans) ans = pwP - ans;
ans.print();
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 8ms
memory: 83520kb
input:
3 3 9 >v> vv> v.> v>> v>> v.> 2 3 1 2 2 1 2 1 1 1 3 3 1 2 2 2 3 3 2 3 1 1 1 2 1 2 1
output:
1 -1 -1 2 14 -1 -1 -1 -1 0
result:
ok 10 tokens
Test #2:
score: 0
Accepted
time: 538ms
memory: 83480kb
input:
1 1 100000 v v 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2...
output:
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 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 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 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 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 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
result:
ok 100001 tokens
Test #3:
score: 0
Accepted
time: 430ms
memory: 83460kb
input:
2 2 100000 >v v> >> >v 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 1 1 1 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 1 2 2 1 2 1 2...
output:
2 -1 2 -1 2 -1 2 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 0 -1 0 -1 -1 2 -1 -1 1 -1 2 -1 2 -1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 0 -1 0 -1 -1 1 -1 1 -1 -1 2 -1 2 -1 1 -1 1 -1 1 -1 0 -1 -1 1 -1 -1 0 -1 0 -1 0 -1 -1 2 -1 1 -1 2 -1 -1 2 -1 2 -1 2 -1 2 -1 -1 1 -1 1 -1 -1 2 -1 2 -1 2 -1 2 -1 -1 2 -1 2 -1 2 -1 -1 ...
result:
ok 100001 tokens
Test #4:
score: 0
Accepted
time: 12ms
memory: 83560kb
input:
2 2 1000 vv >v v> vv 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 2 1 1 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 2...
output:
2 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 2 -1 -1 -1 2 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 2 -1 -1 -1 0 -1 -1 -1 2 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 2 -1 -1 -1 2 -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 2 -1 -1 -1 1 -1 -1 -1...
result:
ok 1001 tokens
Test #5:
score: 0
Accepted
time: 16ms
memory: 83640kb
input:
2 3 1000 vv> v>v >>v v>v 1 2 1 1 2 2 1 2 3 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1...
output:
7 -1 -1 -1 5 -1 -1 -1 -1 -1 3 -1 2 -1 -1 2 -1 -1 6 -1 -1 -1 -1 -1 -1 3 -1 -1 -1 -1 -1 -1 3 -1 -1 7 -1 -1 5 -1 -1 -1 -1 4 -1 -1 -1 -1 3 -1 -1 1 -1 -1 5 -1 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 -1 2 -1 -1 6 -1 -1 6 -1 5 -1 -1 -1 -1 -1 3 -1 -1 5 -1 -1 -1 -1 -1 3 -1 2 -1 -1 2 -1 -1 6 -1 -1 -1 -1 -1 -1 3 -1 -1...
result:
ok 1001 tokens
Test #6:
score: 0
Accepted
time: 827ms
memory: 83632kb
input:
1 10 100000 v>>>>>>v>> >v>vvvvvvv 1 1 3 1 1 8 1 1 1 2 1 1 1 1 7 1 1 1 2 1 1 2 1 7 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 7 1 1 1 2 1 1 2 1 7 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 7 1 1 1 2 1 1 2 1 7 1 1 1 2 1 1 1 1 5 1 1 1 2 1 1 1 1 7 1 1 1 2 1 1 2 1 7 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 7 1 1 1 2 1 1 2 1 7 ...
output:
135 139 11 10 9 73 74 75 139 138 137 139 140 141 77 76 75 11 12 13 15 14 13 77 78 79 143 142 141 157 158 159 95 94 93 29 30 31 29 28 27 91 92 93 157 156 155 153 154 155 91 90 89 25 26 27 43 42 41 105 106 107 171 170 169 171 172 173 109 108 107 43 44 45 47 46 45 109 110 111 175 174 173 429 430 431 36...
result:
ok 100001 tokens
Test #7:
score: 0
Accepted
time: 835ms
memory: 83628kb
input:
9 1 100000 > > v > v > v > v > v > v v > > > v 1 1 1 1 5 1 1 6 1 1 8 1 1 9 1 1 2 1 2 2 1 1 3 1 1 2 1 2 2 1 2 3 1 1 2 1 2 2 1 1 4 1 1 2 1 2 2 1 1 3 1 1 2 1 2 2 1 2 3 1 1 2 1 2 2 1 2 4 1 1 2 1 2 2 1 1 3 1 1 2 1 2 2 1 2 3 1 1 2 1 2 2 1 1 9 1 1 2 1 2 2 1 1 3 1 1 2 1 2 2 1 2 3 1 1 2 1 2 2 1 1 4 1 1 2 1...
output:
58 59 43 75 203 53 51 49 53 55 57 61 59 57 49 51 53 49 47 45 41 43 45 37 35 33 37 39 41 45 43 41 215 213 211 215 217 219 223 221 219 211 213 215 211 209 207 203 205 207 199 197 195 199 201 203 207 205 203 53 51 49 53 55 57 61 59 57 49 51 53 49 47 45 41 43 45 37 35 33 37 39 41 45 43 41 25 27 29 25 23...
result:
ok 100001 tokens
Test #8:
score: 0
Accepted
time: 270ms
memory: 83636kb
input:
3 3 100000 >>> vvv >>v >>> vv> >vv 1 1 1 1 1 2 1 1 3 1 2 1 1 2 2 1 3 1 1 3 3 1 3 1 2 3 1 1 2 2 1 3 1 2 3 1 2 2 2 1 3 1 2 3 1 1 2 1 1 3 1 2 3 1 1 2 2 1 3 1 2 3 1 2 2 2 1 3 1 2 3 1 2 2 1 1 3 1 2 3 1 1 2 2 1 3 1 2 3 1 2 2 2 1 3 1 2 3 1 1 1 2 1 3 1 2 3 1 1 2 2 1 3 1 2 3 1 2 2 2 1 3 1 2 3 1 1 2 1 1 3 1...
output:
8 -1 -1 7 -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 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -...
result:
ok 100001 tokens
Test #9:
score: 0
Accepted
time: 238ms
memory: 83480kb
input:
4 4 100000 v>v> >>v> vv>> >>.> vv>v vv>> v>>> vv.> 1 1 1 1 2 4 1 3 1 1 3 3 1 3 4 1 4 4 1 4 2 2 4 2 1 2 1 1 4 2 2 4 2 2 2 1 1 4 2 2 4 2 1 2 2 1 4 2 2 4 2 1 2 1 1 4 2 2 4 2 2 2 1 1 4 2 2 4 2 2 2 2 1 4 2 2 4 2 1 2 1 1 4 2 2 4 2 2 2 1 1 4 2 2 4 2 1 1 2 1 4 2 2 4 2 1 2 1 1 4 2 2 4 2 2 2 1 1 4 2 2 4 2 1...
output:
26 -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 -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:
ok 100001 tokens
Test #10:
score: 0
Accepted
time: 1901ms
memory: 83504kb
input:
1 100 100000 v>vv>>vvv>>>>v>>>vvv>>>>v>>>vv>>vv>v>v>vv>vv>vvv>>>>vv>v>vvv>v>vv>>>vv>>>v>>v>>v>>vv>v>>>vvvv>>v>vv> vvvv>>v>v>v>>v>vv>v>vv>v>>>>>v>v>>v>>>>>>>>v>vv>v>vv>>>vvv>vv>>>>v>vvvvvvv>v>v>v>>>>>>vv>v>>>>v>>>>v 1 1 8 2 1 62 2 1 53 2 1 91 2 1 25 2 1 65 2 1 71 1 1 54 2 1 59 2 1 98 1 1 56 1 1 89 ...
output:
130162746902623059640821711746 130162746902623059640821711874 130162746904928902650035405826 130162746904933406249662776322 131400686944218786524561900546 131400686944218786524578677762 131400686962665530598288229378 131400685782073909880876925954 131400685782082917080131666946 131400685782371147456...
result:
ok 100001 tokens
Test #11:
score: 0
Accepted
time: 1907ms
memory: 83632kb
input:
100 1 100000 > v > v v > v > > v v > v v > > > v > > v > > > v v v > > > v v > v > > > v v v v > > > v v > > > v v v v v v v > > > v > > > > > v > > v > v > > > v > v v v v v v > > > > > v > > v v v v > v > v > v v > v v v > > > > > v v > v v > > v v > > v v v > > v > v > v v v > > v v > > v v > v ...
output:
373624807217797461802635479613 373624806922649556623282653757 374243776942292246760732215869 576494173228879804361795188163 576532858855107472495385785795 576532858855107507679757874627 576532858855107507679757874755 576532858855107507679757940291 576532858855107507679755843139 576532858855107507679...
result:
ok 100001 tokens
Test #12:
score: 0
Accepted
time: 696ms
memory: 83460kb
input:
100 100 100000 vvvvv>vv>vv>>>v>>vv>vv>v>>v>>>v>v>v>>vvvvvv>v>>v>>>>>vv>>>v>v>>vvv>>vvvvvvvvvv>v>v>v>>v>vvv>>>vv>>vv >>>v>vvv>>>vvvvvv>v>>>vv>>vvvv>>>>>>vv>>vv>>>>>v>>vv>>>vvv>>vvvv>>>v>>vv>v>v>>v>v>>vv>>v>>v>>>vv>v>v vvv>>>v>v>>vv>vv>>>v>>>vv>vvvv>v>>>v>v>v>>>>vvv>>vvv>vvvvv>>>v>>>v>v>>vvvv>>vvvv>>v...
output:
-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 -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:
ok 100001 tokens
Test #13:
score: 0
Accepted
time: 620ms
memory: 83616kb
input:
100 100 100000 >>v>v>vvv>v>vv>>v>>v>>v>vvv>vv>v>>>>>>>vv>vv>>>>vvvv>>>v>>v>v>>>.................................... v>>>>v>.>vvvv>v>>>>vvvv>>vvv>>v>.vv>>>>.>>vvvvvv>v>v>v>vv>v>vv>v>................................... >>vv>>v>vvvv>>>>>vv>>vvv>v>v.>>>vv>vvvv>>>.vvv>v.>>>vvvvv>vvvv>>v>>vvv>vvvv>v>vv>vv...
output:
253528151914256935978069277722645579058348007113389173875510 -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 -1 -1 -1 -1 -1 -1 -1 -1...
result:
ok 100001 tokens
Test #14:
score: 0
Accepted
time: 706ms
memory: 83508kb
input:
100 100 100000 vvv>>v>>vvv>v>>vv>>>vv>>>>v>>vv>>>>vvvv>v>v>>v>vvvvv>vv>vvv>>v>vv>vvv>>>>>vvvv>vvvvv>v>v>>v>v>>>>>v> >vv>v>vvv>v>>>vv>>v>>v>v>>vvvvvvvv>>>vv>>vv>vv>v>v>>>v>v>v>vv>>>>>v>>v>v>>v>v>v>>>>>v>>vv>>>v>vv>>>v v>v>v>v>>>v>>v>>>>>>>v>vv>vv>>>>v>>v>>vvv>v>v>>>vv>vvv>vv>vv>v>vvvv>vv>>>>vv>>>vvvv...
output:
23386290453762822566412058133305892764924256716359048750097 -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 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok 100001 tokens
Test #15:
score: 0
Accepted
time: 667ms
memory: 83632kb
input:
100 100 100000 vv>v>............................................................................................... >vvvvv>vvv>>v>vvv>vv>>v............................................................................. >vvv>>vv>.v>vv.vvv>v>v>v>>>...........................................................
output:
42658660090357251640628465467726161658558031734734431452118 -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 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok 100001 tokens
Test #16:
score: 0
Accepted
time: 432ms
memory: 83628kb
input:
100 100 100000 >>>v................................................................................................ v.v................................................................................................. v.>v..................................................................................
output:
43815677202469463796265627043100870828664328138117793224362 -1 43815677202469463796265627043100870828664328138117793224361 -1 43815677202469463796265627043100870828664328138117793224360 -1 -1 -1 43815677202469463796265627043100870828664328138117793224359 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok 100001 tokens
Test #17:
score: 0
Accepted
time: 466ms
memory: 83632kb
input:
100 100 100000 vvvv................................................................................................ v................................................................................................... v.....................................................................................
output:
222453068264192526417000218257812802177233353809948814995323 -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 -1 -1 -1 -1 -1 -1 -1 -1...
result:
ok 100001 tokens
Test #18:
score: 0
Accepted
time: 587ms
memory: 83628kb
input:
100 100 100000 >v>>v............................................................................................... >vvv>>.............................................................................................. >>vv.v>>>.............................................................................
output:
201750991551104042432020447813933605717073792565088416920 -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 -1 -1 -1 -1 -1 -1 -1 -1 -1...
result:
ok 100001 tokens
Test #19:
score: 0
Accepted
time: 1523ms
memory: 83628kb
input:
100 100 100000 v>v>>vvv............................................................................................ >v.>.>>v>vvv>>>..................................................................................... ......>vv.>v>>v.......................................................................
output:
39016689483511987693168985971494459264198641421031014240019 -1 39016689483511987693168985971494459264198641421031014240019 -1 39016689483511987693168985971494459264198641421031014240019 -1 39016689483511987693168985971494459264198641421031014240019 -1 390166894835119876931689859714944592641986414210...
result:
ok 100001 tokens
Test #20:
score: 0
Accepted
time: 773ms
memory: 83636kb
input:
100 100 100000 >................................................................................................... >v>>>v>............................................................................................. v>vvvv>>..............................................................................
output:
124624611308017348521697627034445754534951315753056709418940 124624611308017348521697627034445754534951315753056709418939 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 124624611308017348521697627034445754534951315753056709418938 124624611308017348521697627034445754534951315753056709418939 -1 -1 -1 -1...
result:
ok 100001 tokens
Test #21:
score: 0
Accepted
time: 416ms
memory: 83628kb
input:
100 100 100000 vv>v>v>>v>>v>v>vvv>>>vv>vvvvvv>v>>>>v>>v............................................................ vvv>>>vv>vv>>>>>vvv>>vv>v>>>v>vv>>>>vvv>>vv>v>v>vvv>>vvv>v>v>>>v>v>v>v>>>>v>>vvv>>vvv>vv>>v>vv>vvvv> >>>>>v>>>vvv>v>>vv>vv>>>>>vvvvv>vv>v>v>v>>>>>vvv>>vvvv.>>v>>vvv>>v>vvvvvvvvv>v>v>v>...
output:
107671931810604867317823529653294578411322501736483480318371 93195323721768917124921731889350746903952872486365624094301 107671931810604867317823529653294578411322501736483480318371 294062579254142701567666993431996072219228246709214728506973 107671931810604867317823529653294578411322501736483480318...
result:
ok 100001 tokens
Test #22:
score: 0
Accepted
time: 467ms
memory: 83532kb
input:
100 100 100000 >vvv>>vv>>>>>>vvv>v>>>>vv>vvvv>>>v>v>vv>>>vv>>v>>>>>>>>vvvvv>>vv>>v>>>v>vv>v>>v>vv>vvvvvv>>>>vvv>vvv vvvv>vvv>v>>>>vv>vvv>>vv>>>v>>vvv>>>v>>v>>v>>>>v>>>>>vv>>vvv>vvvvv>v>>>>>vv>>>>v>>vvv>>>v>vvvv>v>vv> v>>v>v>>>v>>>>>vvvvv>v>>vvv>>v>vv>v>vv>vv>v>>vvv>>>vvvvv>>>>>>vvv>v>>>vv>vvvv>>>vv>...
output:
17082601553275761539905298915831996601457557630861824921682 -1 17082601553275761539905298915831996601457557630861824921682 -1 17082601553275761539905298915831996601457557630861824921682 -1 17082601553275761539905298915831996601457557630861824921682 -1 170826015532757615399052989158319966014575576308...
result:
ok 100001 tokens
Test #23:
score: 0
Accepted
time: 632ms
memory: 83632kb
input:
100 100 100000 v>vv>>>vvvv>>>v>>vv>v>vvvvvvvv>vvvv>v>vv>v>>vv>v>v>>>vvv>vv>>>vvv>v>vvv>v>v>vv>>>vv>vvvvv>v>vv>vv>>v >.>.>.>.>.v.v.>.v.v.>.v.v.v.>.v.>.v.>.v.v.>.v.>.>.v.>.>.>.>.>.>.>.>.>.v.v.v.>.v.v.>.v.v.v.v.>.v.v.v. vvvv>vv>v>>vv>v>vvv>>>vvvv>>>v>v>v>vvvv>v>>v>vvv>>>v>>v>>>>v>>v>>>v>v>v>vvv>>>v>>v>...
output:
18784946845871147976358177942986863608005443350565495986568 -1 18784946845871147976358177942986863608005443350565495986567 -1 18784946845871147976358177942986863608005443350565495986567 -1 18784946845871147976358177942986863608005443350565495986567 -1 187849468458711479763581779429868636080054433505...
result:
ok 100001 tokens
Test #24:
score: 0
Accepted
time: 618ms
memory: 83376kb
input:
100 100 100000 >>>>>>>>>>>>>>>>>>>>>>>v>>>>>>>>>>>>>>>>>v>>>>>>>>v>v>>>>>>>>>>>v>>>>>>>>>>>>>>>>>>>>>>>>v>>>>>>>>>> >>.>>.>>.>>.>>.>v.>>.>>.>>.>>.>>.>>.vv.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.>>.> >..>..>..>..>..>..>..>..>..>..>..>..>..>..>..>..>..>..>..v..>..>..v..>..>..>..>..>....
output:
53381669762158452489209327555144242907672197839891108814646 -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 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok 100001 tokens
Test #25:
score: 0
Accepted
time: 1261ms
memory: 83632kb
input:
100 100 100000 >>>>>>>v>>>>vv>>>>>v>>>v>>>>v>v>>v>>>>>>>>>>>>>v>>>v>v>>>>>v>>>v>>>>>>>>>>vvv>v>>>>>>v>v>>vv>>v>v>v> >>.>v.>v.>v.>>.>>.>>.>v.>v.>>.>>.v>.v>.>>.v>.>v.v>.v>.>>.>v.>v.>v.>>.>>.>>.>>.>v.v>.>>.>v.>>.v>.v>.> v..>..v..>..v..>..>..>..v..v..>..>..>..>..>..>..v..v..>..v..>..>..>..>..>..>..>..v....
output:
57275352746220220487283409946985056949752315135185187188423 -1 57275352746220220487283409946985056949752315135185187188423 -1 57275352746220220487283409946985056949752315135185187188423 -1 57275352746220220487283409946985056949752315135185187188423 -1 572753527462202204872834099469850569497523151351...
result:
ok 100001 tokens
Test #26:
score: 0
Accepted
time: 1497ms
memory: 83596kb
input:
100 100 100000 vv>vv>v>>>>>>>>>>>v>vv>v>>>>>v>vvv>>>>>>vv>>>>>vv>v>>v>>>>>v>>>v>>>vv>v>v>vvv>>>vv>>>>v>>v>>>v>>>vv> >>.>>.vv.>>.>v.vv.v>.>>.v>.v>.v>.vv.>v.>>.vv.>v.vv.>>.vv.>>.vv.>>.>v.v>.>>.>v.v>.v>.>v.vv.>v.>v.v>.v >..>..v..>..>..>..>..v..v..>..>..>..>..v..>..>..>..>..>..>..>..v..v..>..>..v..>..v....
output:
64907501743444547022137361805387261917105074916262651128947 -1 64907501743444547022137361805387261917105074916262651128947 -1 64907501743444547022137361805387261917105074916262651128947 -1 64907501743444547022137361805387261917105074916262651128947 -1 649075017434445470221373618053872619171050749162...
result:
ok 100001 tokens
Test #27:
score: 0
Accepted
time: 1530ms
memory: 83636kb
input:
100 100 100000 vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv>vvvvv>vvvvvvvvvvvvvvvvv>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.vv.>v.vv.vv.vv.vv.v v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v..v....
output:
21976302509188623113582373479770928527855534478211028789917 -1 21976302509188623113582373479770928527855534478211028789917 -1 21976302509188623113582373479770928527855534478211028789917 -1 21976302509188623113582373479770928527855534478211028789917 -1 219763025091886231135823734797709285278555344782...
result:
ok 100001 tokens
Test #28:
score: 0
Accepted
time: 373ms
memory: 83676kb
input:
100 100 100000 >>.................................................................................................. >>.................................................................................................. >>v>>.................................................................................
output:
4899093492166070486573268177568463493559612269189682940140 -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 -1 -1 -1 -1 -1 -1 -1 -1 -...
result:
ok 100001 tokens
Test #29:
score: 0
Accepted
time: 1394ms
memory: 83504kb
input:
100 100 100000 vv>vvvv............................................................................................. v>vvv.v............................................................................................. vvv>>vvvv.............................................................................
output:
5852208803576017905737030078378565171209408740723222843758 -1 5852208803576017905737030078378565171209408740723222843758 -1 5852208803576017905737030078378565171209408740723222843758 -1 5852208803576017905737030078378565171209408740723222843758 -1 5852208803576017905737030078378565171209408740723222...
result:
ok 100001 tokens
Test #30:
score: 0
Accepted
time: 598ms
memory: 83632kb
input:
100 100 100000 >>>................................................................................................. >>>>>v.............................................................................................. >>>>v>>>..............................................................................
output:
229725942343818046032259298037952089749446429318663445046838 -1 -1 229725942343818046032259298037952089749446429318663445046839 -1 -1 -1 -1 -1 -1 -1 -1 -1 229725942343818046032259298037952089749446429318663445046840 -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:
ok 100001 tokens