Submission #63536830


Source Code Expand

//People who believe in miracles are as amazing as miracles themselves.
#include<bits/stdc++.h>
#define ll long long
using namespace std;
inline ll read(){
    ll x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-') f=-f;ch=getchar();}
    while(ch>='0'&&ch<='9')x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
    return x*f;
}

const int N=2e5+10;
int n,m,a[N],ans=INT_MAX,num[10][1<<9];

inline void solve(){
    n=read(),m=read();
    for(int i=1;i<=n;++i)
        for(int x,j=0;j<m;++j) scanf("%1d",&x),a[i]=(a[i]<<1)|x;
    if(m==1) return puts("0"),void();
    int A=m/2,B=m-A,SA=(1<<A)-1,SB=(1<<B)-1;
    for(int s=0;s<=SA;++s){
        memset(num,0,sizeof num);
        for(int i=1;i<=n;++i){
            int p=(a[i]>>B)^s,q=a[i]&SB;
            ++num[__builtin_popcount(p)][q];
        }
        for(int t=0;t<=SB;++t){
            int sum=0;
            for(int i=0;i<=A;++i)
                for(int j=0;j<=SB;++j){
                    int cnt=i+__builtin_popcount(t^j);
                    sum+=num[i][j]*min(cnt,m-cnt);
                }
            ans=min(ans,sum);
        }
    }
    printf("%d\n",ans);
}

signed main(){
#ifndef ONLINE_JUDGE
    freopen("../1.in","r",stdin);
    freopen("../1.out","w",stdout);
#endif
    return solve(),0;
}

Submission Info

Submission Time
Task G - Flip Row or Col
User include_BM
Language C++ 20 (gcc 12.2)
Score 600
Code Size 1307 Byte
Status AC
Exec Time 1580 ms
Memory 4716 KiB

Compile Error

Main.cpp: In function ‘void solve()’:
Main.cpp:18:37: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   18 |         for(int x,j=0;j<m;++j) scanf("%1d",&x),a[i]=(a[i]<<1)|x;
      |                                ~~~~~^~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 35
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3876 KiB
00_sample_01.txt AC 1 ms 3944 KiB
00_sample_02.txt AC 1 ms 3688 KiB
01_test_00.txt AC 1 ms 3632 KiB
01_test_01.txt AC 1 ms 3732 KiB
01_test_02.txt AC 1 ms 3828 KiB
01_test_03.txt AC 37 ms 4244 KiB
01_test_04.txt AC 21 ms 4236 KiB
01_test_05.txt AC 61 ms 4236 KiB
01_test_06.txt AC 757 ms 4540 KiB
01_test_07.txt AC 1524 ms 4496 KiB
01_test_08.txt AC 763 ms 4396 KiB
01_test_09.txt AC 1558 ms 4444 KiB
01_test_10.txt AC 1562 ms 4700 KiB
01_test_11.txt AC 1559 ms 4648 KiB
01_test_12.txt AC 1560 ms 4580 KiB
01_test_13.txt AC 1558 ms 4464 KiB
01_test_14.txt AC 1559 ms 4704 KiB
01_test_15.txt AC 766 ms 4484 KiB
01_test_16.txt AC 65 ms 4268 KiB
01_test_17.txt AC 85 ms 4448 KiB
01_test_18.txt AC 1580 ms 4508 KiB
01_test_19.txt AC 1567 ms 4492 KiB
01_test_20.txt AC 1569 ms 4460 KiB
01_test_21.txt AC 1571 ms 4588 KiB
01_test_22.txt AC 1571 ms 4716 KiB
01_test_23.txt AC 1570 ms 4468 KiB
01_test_24.txt AC 1570 ms 4696 KiB
01_test_25.txt AC 1567 ms 4600 KiB
01_test_26.txt AC 1564 ms 4656 KiB
01_test_27.txt AC 1 ms 3612 KiB
01_test_28.txt AC 1 ms 3676 KiB
01_test_29.txt AC 11 ms 4384 KiB
01_test_30.txt AC 1290 ms 3812 KiB
01_test_31.txt AC 1555 ms 4488 KiB