Submission #1206719

#TimeUsernameProblemLanguageResultExecution timeMemory
1206719PenguinsAreCuteCouncil (JOI23_council)C++20
16 / 100
4090 ms1584 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n >> m; int bt[n], zero = 0, one = 0, two = 0, cnt[m]; memset(bt,0,sizeof(bt)); memset(cnt,0,sizeof(cnt)); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { int a; cin >> a; cnt[j] += a; bt[i] |= (a << j); } for(int i=0;i<n;i++) bt[i] = ~bt[i]; for(int i=0;i<m;i++) if(cnt[i] >= (n / 2) + 2) zero++; else if(cnt[i] == (n / 2) + 1) one |= (1 << i); else if(cnt[i] == (n / 2)) two |= (1 << i); for(int i=0;i<n;i++) { int ans = 0; for(int j=0;j<n;j++) if(j != i) ans = max(ans, __builtin_popcount((one&(bt[i]|bt[j]))|(two&bt[i]&bt[j]))); cout << ans + zero << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...