Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma GCC optimize("Ofast")
- #include<iostream>
- #include<string>
- #include<bitset>
- using namespace std;
- #define N 1000001
- #define uint unsigned int
- int n, m;
- int ans[25];
- bitset<N> dp[25];
- int main(){
- ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
- cin >> n >> m;
- cin.ignore();
- for(int i = 0; i < n; ++i){
- string s;
- getline(cin, s);
- dp[i] = bitset<N>(s);
- }
- bitset<N> eek;
- for(int i = 1; i < (1<<n); ++i){
- int k = 0;
- eek.reset();
- for(int j = 0; j < n; ++j){
- if((1<<j) & i){
- ++k;
- eek |= dp[j];
- }
- }
- ans[k] = max(ans[k], m - (int)eek.count());
- }
- for(int i = 1; i <= n; ++i){
- cout << ans[i] << '\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement