# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1077590 | vjudge1 | Council (JOI23_council) | C++17 | 4043 ms | 33232 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
map<int,int>ma;
int sum[2000000];
int p[2000000],pp[2000000];
int co[2000000];
int val[2000000];
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,m;
cin>>n>>m;
int ans=0;
int a[n][m];
for(int i=0;i<m;i++)
co[i]=0;
for(int i=0;i<n;i++)
{
//co[i]=0;
val[i]=0;
}
for(int i=0;i<n;i++)
{
for(int y=0;y<m;y++)
{
cin>>a[i][y];
if(a[i][y]==1)
co[y]++;
val[i]+=(1<<y)*a[i][y];
}
ma[val[i]]++;
}
vector<int>v;
for(auto i:ma)
v.push_back(i.first);
int l=v.size();
int s1=0,s2=0;
for(int i=0;i<m;i++)
{
if(co[i]>=n/2)
ans++;
if(co[i]<n/2)
continue;
else if(co[i]==n/2)
s1+=1<<i;
else if(co[i]==n/2+1)
s2+=1<<i;
}
int o[l];
// cout<<s1<<' '<<s2<<endl;
for(int i=0;i<l;i++)
{
// cout<<i<<endl;
p[i]=v[i]&s1;
pp[i]=v[i]&s2;
o[i]=__builtin_popcount(p[i]);
if(ma[v[i]]>1)
{
sum[v[i]]=ans-p[i]-pp[i];
}
int x=-1000000000;
//cout<<i<<' ';
for(int y=i-1;y>=0;y--)
{
//cout<<y<<endl;
int h=ans-__builtin_popcount(p[i]|p[y])-__builtin_popcount(pp[i]&pp[y]);
x=max(x,h);
sum[v[y]]=max(sum[v[y]],h);
}
sum[v[i]]=max(sum[v[i]],x);
}
for(int i=0;i<n;i++)
cout<<sum[val[i]]<<endl;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |