만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Council

시간 제한3초메모리 제한1024 MB

요약
위원 N명이 최대 20개 안건에 던진 찬반 투표가 주어질 때, 각 위원이 의장이 되었을 때 통과되는 안건 수의 최댓값을 구합니다.
난이도

보통10점 중 7점

유형
비트 연산, 동적 계획법
정답자
아직 제출이 없습니다

문제

JOI시 시의회에는 1번부터 NN번까지 번호가 매겨진 의원이 NN명 있다. 시의회는 회의를 열고, 의원들은 1번부터 MM번까지 번호가 매겨진 MM개의 조례안에 대해 표결한다. Ai,j=1A_{i,j} = 1이면 의원 ii(1≤i≤N1 \le i \le N)는 조례안 jj(1≤j≤M1 \le j \le M)에 찬성표를 던진다. Ai,j=0A_{i,j} = 0이면 의원 ii는 조례안 jj에 반대표를 던진다.

JOI시 시의회는 다음 순서로 진행된다.

  1. 의원 중에서 제비뽑기로 의장을 무작위로 정한다.
  2. 의장은 의장을 제외한 N−1N - 1명의 의원 중에서 부의장을 고른다.
  3. MM개의 조례안에 대해 표결한다. 의장과 부의장을 제외한 N−2N - 2명의 의원은 각 조례안에 찬성 또는 반대표를 던진다. 과반수 의원(⌊N2⌋\left\lfloor \frac{N}{2} \right\rfloor명 이상)이 찬성한 조례안은 가결된다. 여기서 ⌊x⌋\left\lfloor x \right\rfloor는 xx를 넘지 않는 가장 큰 정수이다.

JOI시 시장 K는 시의회가 최대한 많은 조례안을 가결하기를 바란다. 시장 K는 각 조례안에 대해 누가 찬성하고 누가 반대하는지 알고 있다.

의원들의 표결 정보가 주어질 때, 각 의원을 의장으로 뽑았을 때 가결될 수 있는 조례안 수의 최댓값을 구하는 프로그램을 작성하라.

입력

표준 입력에서 다음 데이터를 읽는다.

N M
A_{1,1} A_{1,2} ... A_{1,M}
A_{2,1} A_{2,2} ... A_{2,M}
...
A_{N,1} A_{N,2} ... A_{N,M}

출력

표준 출력에 NN줄을 출력한다. ii번째 줄에는 의원 ii를 의장으로 뽑았을 때 가결될 수 있는 조례안 수의 최댓값을 출력한다.

제한

  • 3≤N≤300 0003 \le N \le 300\,000.
  • 1≤M≤201 \le M \le 20.
  • 0≤Ai,j≤10 \le A_{i,j} \le 1 (1≤i≤N1 \le i \le N, 1≤j≤M1 \le j \le M).
  • 주어지는 값은 모두 정수이다.

예제4

  1. 예제 1

    입력
    3 3
    1 0 0
    1 1 0
    1 1 1
    
    예상 출력
    3
    3
    2
    
  2. 예제 2

    입력
    4 12
    1 1 1 0 1 1 0 1 0 1 1 0
    1 1 0 1 1 0 1 1 1 1 1 0
    0 0 1 1 1 0 0 0 0 0 1 1
    1 0 0 0 1 1 1 1 1 0 0 0
    
    예상 출력
    5
    4
    6
    6
    
  3. 예제 3

    입력
    16 4
    0 0 0 0
    0 0 0 1
    0 0 1 0
    0 0 1 1
    0 1 0 0
    0 1 0 1
    0 1 1 0
    0 1 1 1
    1 0 0 0
    1 0 0 1
    1 0 1 0
    1 0 1 1
    1 1 0 0
    1 1 0 1
    1 1 1 0
    1 1 1 1
    
    예상 출력
    3
    3
    3
    2
    3
    2
    2
    1
    3
    2
    2
    1
    2
    1
    1
    0
    
  4. 예제 4

    입력
    4 2
    1 0
    0 1
    1 1
    1 1
    
    예상 출력
    2
    2
    1
    1