# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1089181 | em4ma2 | Izbori (COCI17_izbori) | C++14 | 28 ms | 476 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
// بسم الله الرحمن الرحيم
#include "bits/stdc++.h"
using namespace std;
#define ll long long
#define int long long
#define pb push_back
#define endl '\n'
#define ld long double
#define applejuice ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
const ll mod=1e9+7;
const ll inf=1e18;
const ll mxsz=100+4;
const ld pi=acos(-1.0);
int win[mxsz];//m
vector<int>need;
int a[mxsz][19];
signed main() {
applejuice;
int n,m,k;
cin>>n>>m>>k;
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
cin>>a[i][j];
if(j==0)win[a[i][0]]++;
}
}
/*for(int i=0;i<need.size();i++){
cout<<need[i]<<" ";
}cout<<endl;*/
/*for (int i=0;i<=m;i++){
cout<<win[i]<<" ";
}cout<<endl;*/
int mxn=-1,mxi=0;
for (int i=0;i<=m;i++){
if (win[i]>mxn){
mxn=win[i];
mxi=i;
}
}
//cout<<mxi<<" "<<mxn<<endl;
cout<<mxi<<endl;
//everything good so far
int ans=m;
for (int ma=1;ma<(1<<m);ma++){
bool rev[m+1]={};
int cnt=0;
for (int i=0;i<m;i++){
if((1<<i)&ma){
rev[i+1]=1;
}else{
cnt++;
}
}
/*for (int i=0;i<=m;i++){
cout<<rev[i]<<" ";
}
cout<<endl;*/
int cur=m,mx=-1;
vector<int>t;
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
if(rev[a[i][j]]){
t.pb(a[i][j]);
break;
}
}
}
int wn[m+1]={};
for (auto x:t)wn[x]++;
for (int i=0;i<=m;i++){
mx=max(mx,wn[i]);
}
for (int i=0;i<=m;i++){
if(wn[i]==mx){
cur=i;
break;
}
}
if(cur==k){
ans=min(cnt,ans);
//cout<<"jlefi"<<endl;
}
}
cout<<ans<<endl;
/*if(mxi==k){
cout<<0;
return 0;
}
int ans=0,ned;
if (mxi<k){
ned=(mxn+1)/2;
//cout<<ned<<endl;
sort(need.begin(),need.end());
//cout<<need[0]<<endl;
for (int i=0;i<ned;i++){
ans+=need[i];
}
}else{
ned=mxn/2;
//cout<<ned<<endl;
sort(need.begin(),need.end());
for (int i=0;i<ned;i++){
ans+=need[i];
}
}
cout<<ans<<endl;*/
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |