Submission #889774

#TimeUsernameProblemLanguageResultExecution timeMemory
889774vjudge1Council (JOI23_council)C++17
41 / 100
4038 ms8716 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define int long long #define pb push_back #define ff first #define ss second #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(), v.rend() #define ordered_set tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> #define ordered_multiset tree<type1, null_type, less_equal<type1>, rb_tree_tag, tree_order_statistics_node_update>; using namespace std; using namespace __gnu_pbds; const int mod = 1e9+7; const double PI = acos(-1.0); const double epsilon = 1e-6; void solve(){ int n,m; cin >> n >> m; bool a[n][m]; int cnt[m]{}; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cin >> a[i][j]; cnt[j] += a[i][j]; } } if(0){ for(int i = 0; i < n; i++){ int mx = 0; for(int j = 0; j < n; j++){ if(i == j) continue; int sum = 0; for(int k = 0; k < m; k++){ if(cnt[k] - a[i][k] - a[j][k] >= n / 2) sum++; } mx = max(mx,sum); } cout << mx << '\n'; } }else{ vector<int> mp(1 << m); for(int i = 0; i < n; i++){ int sum = 0; for(int j = 0; j < m; j++){ sum += (a[i][j] << j); } mp[sum]++; } for(int i = 0; i < n; i++){ int ans = 0; int ind = 0; for(int j = 0; j < m; j++){ ind += (a[i][j] << j); } mp[ind]--; for(int mask = 0; mask < (1 << m); mask++){ if(mp[mask] <= 0) continue; int sum = 0; for(int j = 0; j < m; j++){ if(cnt[j] - (mask >> j & 1) - a[i][j] >= n / 2) sum++; } ans = max(ans,sum); } mp[ind]++; cout << ans << '\n'; } } } main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tt = 1; //cin >> tt; while (tt--) { solve(); } }

Compilation message (stderr)

council.cpp:75:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   75 | main(){
      | ^~~~
#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...