Submission #1086069

# Submission time Handle Problem Language Result Execution time Memory
1086069 2024-09-09T13:01:06 Z Bananabread Council (JOI23_council) C++17
0 / 100
57 ms 51660 KB
#include<bits/stdc++.h>
#define ll long long
#define ntr "\n"
#define mod (ll)(1e9+7)
#define taskname ""
#define frep freopen(taskname".inp","r",stdin); freopen(taskname".out","w",stdout);
using namespace std;
ll pref[300001];
ll arr[300001][21];
ll ans[300001];
ll n,m;
void sub3(){
    ll cnt[1<<m]={};
    vector<array<int,2>> s[1<<m];
    ll best[1<<m]={};
    for(int i=1;i<=n;i++){
        ll mask=0;
        for(int j=1;j<=m;j++){
            mask<<=1;
            mask+=arr[i][j];
        }
        cnt[mask]++;
    }
    for(int m1=0;m1<(1<<m);m1++){
        if(!cnt[m1]) continue;
        for(int m2=0;m2<(1<<m);m2++){
            if(!cnt[m2]||(cnt[m1]==1&&m1==m2)) continue;
            ll cnt=0;
            //cout<<m1<<' '<<m2<<ntr;
            for(int i=0;i<m;i++){
                ll neg=((m1&(1<<i))>0)+((m2&(1<<i))>0);
                if(pref[i+1]-neg>n/2-1) cnt++;
            }
            //cout<<cnt<<ntr;
            best[m1]=max(best[m1],cnt);
        }
    }
    for(int i=1;i<=n;i++){
        ll mask=0;
        for(int j=1;j<=m;j++){
            mask<<=1;
            mask+=arr[i][j];
        }
        cout<<best[mask]<<ntr;
    }
}
int main(){
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    //frep;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>arr[i][j];
        }
    }
    for(int j=1;j<=m;j++){
        for(int i=1;i<=n;i++){
            pref[j]+=arr[i][j];
        }
    }
    if(m<=10){
        sub3();
        return 0;
    }
    for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            ll cnt=0;
            for(int u=1;u<=m;u++){
                ll c=pref[u]-arr[i][u]-arr[j][u];
                if(c>n/2-1) cnt++;
            }
            ans[i]=max(ans[i],cnt);
            ans[j]=max(ans[j],cnt);
        }
    }
    for(int i=1;i<=n;i++){
        cout<<ans[i]<<ntr;
    }
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 54 ms 51484 KB Output is correct
3 Correct 54 ms 51660 KB Output is correct
4 Correct 43 ms 51004 KB Output is correct
5 Correct 57 ms 51440 KB Output is correct
6 Correct 45 ms 51024 KB Output is correct
7 Incorrect 57 ms 51536 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 54 ms 51484 KB Output is correct
3 Correct 54 ms 51660 KB Output is correct
4 Correct 43 ms 51004 KB Output is correct
5 Correct 57 ms 51440 KB Output is correct
6 Correct 45 ms 51024 KB Output is correct
7 Incorrect 57 ms 51536 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 54 ms 51484 KB Output is correct
3 Correct 54 ms 51660 KB Output is correct
4 Correct 43 ms 51004 KB Output is correct
5 Correct 57 ms 51440 KB Output is correct
6 Correct 45 ms 51024 KB Output is correct
7 Incorrect 57 ms 51536 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 54 ms 51484 KB Output is correct
3 Correct 54 ms 51660 KB Output is correct
4 Correct 43 ms 51004 KB Output is correct
5 Correct 57 ms 51440 KB Output is correct
6 Correct 45 ms 51024 KB Output is correct
7 Incorrect 57 ms 51536 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -