QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#57732 | #2921. Land Equality | wtcherr# | AC ✓ | 3ms | 3732kb | C++20 | 3.2kb | 2022-10-22 18:47:15 | 2022-10-22 18:47:15 |
Judging History
answer
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef long double ldb;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
#define f first
#define s second
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define IO ios_base::sync_with_stdio(0), cin.tie(0)
const int mod = 1e9 + 7;
template <typename T>
void readArray(vector<T> &A)
{
for (T &i : A)
cin >> i;
}
template <typename T>
void readArray(vector<vector<T>> &A)
{
for (vector<T> &i : A)
readArray(i);
}
template <typename T>
void printArray(vector<T> A)
{
for (T i : A)
cout << i << " ";
cout << endl;
}
ll fastPow(ll a, ll b, ll m = mod)
{
a %= m;
ll res = 1;
while (b > 0)
{
if (b & 1)
res = res * a % m;
a = a * a % m;
b >>= 1;
}
return res;
}
bool isPrime(ll n, int iter = 5)
{
if (n < 4)
return n == 2 || n == 3;
for (int i = 0; i < iter; i++)
{
int a = 2 + rand() % (n - 3);
if (fastPow(a, n - 1, n) != 1)
return false;
}
return true;
}
ll inv(ll n, ll m = mod)
{
return fastPow(n, m - 2);
}
ll mul(ll a, ll b, ll m = mod)
{
return (a * b) % m;
}
ll add(ll a, ll b, ll m = mod)
{
return (a + b + m) % m;
}
void solve()
{
int n, m;
cin >> n >> m;
vector<vector<int>> A(n, vector<int>(m));
readArray(A);
vector<int> cnt(3);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cnt[A[i][j]]++;
}
}
if (n == 1)
{
ll ans = 1e18;
ll sma = 1;
for (int j = 0; j < m - 1; j++)
{
sma *= A[0][j];
ll smb = 1;
for (int k = j + 1; k < m; k++)
{
smb *= A[0][k];
}
ans = min(ans, abs(sma - smb));
}
cout << ans;
}
else if (m == 1)
{
ll ans = 1e18;
ll sma = 1;
for (int j = 0; j < n - 1; j++)
{
sma *= A[j][0];
ll smb = 1;
for (int k = j + 1; k < n; k++)
{
smb *= A[k][0];
}
ans = min(ans, abs(sma - smb));
}
cout << ans;
}
else
{
if (cnt[0] >= 2)
cout << 0;
else if (cnt[0] == 1)
{
if (cnt[1])
cout << 1;
else if (cnt[2])
cout << 2;
else
cout << 0;
}
else
{
if (cnt[2] % 2 == 0)
cout << 0;
else
cout << (1ll << (cnt[2] / 2));
}
}
}
void trials()
{
int t, tt;
for (cin >> t, tt = t; t--; cout << endl)
{
// cout << "Case #" << tt - t << ": ";
solve();
}
}
int main()
{
// freopen("","r",stdin);
IO;
solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 3560kb
input:
1 2 0 1
output:
1
result:
ok single line: '1'
Test #2:
score: 0
Accepted
time: 2ms
memory: 3640kb
input:
1 2 0 2
output:
2
result:
ok single line: '2'
Test #3:
score: 0
Accepted
time: 2ms
memory: 3644kb
input:
1 2 1 2
output:
1
result:
ok single line: '1'
Test #4:
score: 0
Accepted
time: 2ms
memory: 3508kb
input:
2 1 1 1
output:
0
result:
ok single line: '0'
Test #5:
score: 0
Accepted
time: 2ms
memory: 3648kb
input:
2 1 0 0
output:
0
result:
ok single line: '0'
Test #6:
score: 0
Accepted
time: 2ms
memory: 3548kb
input:
5 5 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2
output:
0
result:
ok single line: '0'
Test #7:
score: 0
Accepted
time: 2ms
memory: 3636kb
input:
5 5 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2
output:
512
result:
ok single line: '512'
Test #8:
score: 0
Accepted
time: 2ms
memory: 3556kb
input:
2 3 0 1 2 1 1 2
output:
1
result:
ok single line: '1'
Test #9:
score: 0
Accepted
time: 2ms
memory: 3560kb
input:
2 6 0 2 2 1 2 2 1 1 1 1 2 2
output:
1
result:
ok single line: '1'
Test #10:
score: 0
Accepted
time: 1ms
memory: 3548kb
input:
4 4 2 2 2 2 2 1 2 2 2 0 2 2 2 2 2 2
output:
1
result:
ok single line: '1'
Test #11:
score: 0
Accepted
time: 2ms
memory: 3628kb
input:
1 3 0 1 2
output:
2
result:
ok single line: '2'
Test #12:
score: 0
Accepted
time: 2ms
memory: 3628kb
input:
1 6 2 1 2 0 1 2
output:
2
result:
ok single line: '2'
Test #13:
score: 0
Accepted
time: 0ms
memory: 3560kb
input:
6 1 2 1 2 0 1 2
output:
2
result:
ok single line: '2'
Test #14:
score: 0
Accepted
time: 2ms
memory: 3676kb
input:
1 5 0 1 1 1 2
output:
2
result:
ok single line: '2'
Test #15:
score: 0
Accepted
time: 2ms
memory: 3536kb
input:
1 6 2 1 2 0 2 1
output:
1
result:
ok single line: '1'
Test #16:
score: 0
Accepted
time: 2ms
memory: 3560kb
input:
1 6 1 1 2 0 1 2
output:
1
result:
ok single line: '1'
Test #17:
score: 0
Accepted
time: 2ms
memory: 3560kb
input:
6 1 2 1 2 0 2 1
output:
1
result:
ok single line: '1'
Test #18:
score: 0
Accepted
time: 2ms
memory: 3556kb
input:
1 10 2 1 1 1 0 0 1 1 1 2
output:
0
result:
ok single line: '0'
Test #19:
score: 0
Accepted
time: 0ms
memory: 3500kb
input:
1 10 1 2 0 2 2 2 2 0 2 1
output:
0
result:
ok single line: '0'
Test #20:
score: 0
Accepted
time: 2ms
memory: 3620kb
input:
1 10 0 1 1 1 2 2 1 1 1 0
output:
0
result:
ok single line: '0'
Test #21:
score: 0
Accepted
time: 2ms
memory: 3560kb
input:
8 8 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 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
output:
2147483648
result:
ok single line: '2147483648'
Test #22:
score: 0
Accepted
time: 2ms
memory: 3544kb
input:
8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
output:
0
result:
ok single line: '0'
Test #23:
score: 0
Accepted
time: 2ms
memory: 3716kb
input:
8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
output:
0
result:
ok single line: '0'
Test #24:
score: 0
Accepted
time: 1ms
memory: 3544kb
input:
8 8 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
output:
0
result:
ok single line: '0'
Test #25:
score: 0
Accepted
time: 2ms
memory: 3636kb
input:
7 9 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
output:
2147483648
result:
ok single line: '2147483648'
Test #26:
score: 0
Accepted
time: 2ms
memory: 3560kb
input:
31 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
output:
0
result:
ok single line: '0'
Test #27:
score: 0
Accepted
time: 2ms
memory: 3568kb
input:
1 61 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
output:
1073741824
result:
ok single line: '1073741824'
Test #28:
score: 0
Accepted
time: 2ms
memory: 3552kb
input:
8 8 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0
output:
0
result:
ok single line: '0'
Test #29:
score: 0
Accepted
time: 2ms
memory: 3656kb
input:
6 10 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0
output:
0
result:
ok single line: '0'
Test #30:
score: 0
Accepted
time: 2ms
memory: 3544kb
input:
8 8 2 0 2 2 2 2 2 2 0 2 0 0 0 2 2 2 0 2 2 0 2 2 0 0 0 2 2 2 0 2 0 2 2 2 0 2 0 0 2 0 0 2 0 2 2 0 2 2 0 2 0 0 2 0 2 2 2 2 2 0 0 0 2 2
output:
0
result:
ok single line: '0'
Test #31:
score: 0
Accepted
time: 2ms
memory: 3680kb
input:
10 6 2 0 2 2 0 2 0 0 2 2 0 2 2 2 0 2 0 2 2 2 2 0 2 0 0 0 2 0 0 2 2 2 2 0 2 2 2 0 0 0 2 0 2 2 0 2 0 0 0 2 2 2 0 0 0 0 0 2 2 0
output:
0
result:
ok single line: '0'
Test #32:
score: 0
Accepted
time: 1ms
memory: 3712kb
input:
8 8 1 1 2 1 2 1 1 1 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 1
output:
8192
result:
ok single line: '8192'
Test #33:
score: 0
Accepted
time: 2ms
memory: 3728kb
input:
7 9 2 2 2 2 1 1 1 1 1 1 2 2 2 1 1 2 2 1 1 1 2 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 1
output:
65536
result:
ok single line: '65536'
Test #34:
score: 0
Accepted
time: 2ms
memory: 3504kb
input:
9 7 2 1 1 1 2 1 2 2 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 1 2 1 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 1 1
output:
65536
result:
ok single line: '65536'
Test #35:
score: 0
Accepted
time: 2ms
memory: 3552kb
input:
8 8 2 1 0 0 2 1 2 2 1 0 0 1 1 0 2 0 1 0 1 2 0 1 0 2 1 2 1 2 1 2 1 2 0 0 1 2 1 0 0 2 0 0 2 1 2 0 2 1 2 1 1 1 1 0 2 0 0 0 1 2 0 1 1 0
output:
0
result:
ok single line: '0'
Test #36:
score: 0
Accepted
time: 2ms
memory: 3532kb
input:
7 9 1 1 1 0 2 1 1 2 0 2 1 2 2 2 2 2 0 1 2 0 2 2 0 1 2 0 2 0 2 2 0 0 2 1 1 2 0 0 1 1 1 1 0 1 1 1 2 0 1 1 0 1 1 0 0 2 0 1 2 2 0 0 2
output:
0
result:
ok single line: '0'
Test #37:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
9 7 2 2 0 2 2 1 2 2 0 2 0 1 1 1 2 1 1 0 1 0 2 0 0 0 1 1 0 1 1 2 1 2 2 2 0 1 2 0 0 0 0 2 1 2 1 0 1 2 2 0 2 2 2 2 0 2 2 0 2 0 2 0 1
output:
0
result:
ok single line: '0'
Test #38:
score: 0
Accepted
time: 3ms
memory: 3504kb
input:
1 64 0 2 1 2 0 1 2 0 2 1 1 2 2 2 2 2 1 2 2 1 2 0 0 1 2 1 1 0 0 2 0 1 1 1 1 1 2 1 2 1 2 0 2 2 0 0 1 1 2 2 1 1 1 1 0 0 2 1 2 2 2 0 2 1
output:
0
result:
ok single line: '0'
Test #39:
score: 0
Accepted
time: 2ms
memory: 3656kb
input:
64 1 1 1 0 0 1 2 0 1 0 1 0 2 2 2 0 2 1 1 2 1 0 0 2 0 0 1 2 0 1 0 0 2 1 1 0 2 2 0 2 0 1 0 0 1 2 1 0 1 1 2 2 0 1 1 0 0 0 0 2 0 2 1 1 2
output:
0
result:
ok single line: '0'
Test #40:
score: 0
Accepted
time: 2ms
memory: 3732kb
input:
2 32 0 2 2 2 2 1 1 1 2 1 1 2 1 1 2 0 1 1 2 2 2 2 0 0 0 0 0 1 2 1 0 2 0 1 2 2 2 1 1 1 0 0 1 2 2 2 0 0 0 1 1 2 0 0 1 2 2 0 0 2 2 0 2 0
output:
0
result:
ok single line: '0'
Test #41:
score: 0
Accepted
time: 2ms
memory: 3636kb
input:
32 2 1 0 1 2 2 0 0 1 0 0 0 2 1 0 1 1 0 2 1 0 1 1 2 0 1 1 1 2 2 0 1 1 0 0 2 0 2 1 1 2 0 2 2 0 0 1 1 2 0 1 1 1 1 1 0 0 2 2 0 1 0 0 2 0
output:
0
result:
ok single line: '0'
Test #42:
score: 0
Accepted
time: 2ms
memory: 3628kb
input:
1 63 1 1 1 2 0 1 1 1 2 1 1 1 2 1 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1
output:
1
result:
ok single line: '1'
Test #43:
score: 0
Accepted
time: 3ms
memory: 3616kb
input:
1 64 1 2 1 2 2 1 1 1 0 2 1 1 2 1 2 2 2 2 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2
output:
1
result:
ok single line: '1'
Test #44:
score: 0
Accepted
time: 2ms
memory: 3560kb
input:
63 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 2 1 1 2 1 1 0 1 2 2 1 1 1 1
output:
1
result:
ok single line: '1'
Test #45:
score: 0
Accepted
time: 0ms
memory: 3564kb
input:
64 1 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 0 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 1 1 2
output:
2
result:
ok single line: '2'
Test #46:
score: 0
Accepted
time: 2ms
memory: 3616kb
input:
8 8 2 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 2 2 1 2 2 2 1 1 2 1 1 1 2 2 0 1 1 1 1 2 1 1 1 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 1 1 2 1 2 2 1 2 2
output:
1
result:
ok single line: '1'
Test #47:
score: 0
Accepted
time: 2ms
memory: 3500kb
input:
2 32 2 1 1 2 0 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 2 2
output:
1
result:
ok single line: '1'
Test #48:
score: 0
Accepted
time: 3ms
memory: 3552kb
input:
32 2 2 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 0 1 2 1 1 1 1 2 1 2 1 2 1 1 2 2 2 1 2 2 2
output:
1
result:
ok single line: '1'
Test #49:
score: 0
Accepted
time: 0ms
memory: 3616kb
input:
3 4 1 2 1 1 2 2 1 2 1 2 2 2
output:
8
result:
ok single line: '8'
Test #50:
score: 0
Accepted
time: 3ms
memory: 3728kb
input:
2 3 0 1 2 0 1 2
output:
0
result:
ok single line: '0'
Test #51:
score: 0
Accepted
time: 3ms
memory: 3652kb
input:
1 3 2 0 2
output:
2
result:
ok single line: '2'