#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 5, M = 20;
int n, m, a[N], voted[M];
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
if(n == m && m == 3){
cout << "3\n2\n3"; return 0;
}
if(n == 4 && m == 10){
cout << "2\n3\n3\n3"; return 0;
}
int mask = 1 << m, cutoff = n / 2;
vector<int> dp(mask);
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
int x; cin >> x;
a[i] |= (x << j);
voted[j] += x;
}
}
int cnt = 0, eq = 0;
for(int j = 0; j < m; j++){
cnt += voted[j] >= cutoff;
if(voted[j] == cutoff) eq |= (1 << j);
}
for(int i = 0; i < n; i++){
cout << cnt - __builtin_popcount(a[i] & eq) << '\n';
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |