Submission #331963

#TimeUsernameProblemLanguageResultExecution timeMemory
331963DanerZein카니발 티켓 (IOI20_tickets)C++14
0 / 100
1 ms384 KiB
#include "tickets.h"
#include <vector>
#include <bits/stdc++.h>
// existen dos escenarios en el que la media sea maxima o en que sea minima

using namespace std;
typedef long long ll;
typedef pair<ll,ll> ii;
typedef pair<ii,ll> iii;
typedef vector<int> vi;
typedef pair<ll,vi> llvi;
vector<vi> ti;
long long find_maximum(int k, std::vector<std::vector<int>> x) {
  int n,m;
  n=x.size();
  m=x[0].size();
  ti.resize(n);
  vector<ii> y;
  for(int i=0;i<n;i++) for(int j=0;j<m;j++) ti[i].push_back(-1);
  for(int j=0;j<m;j++){
    int c0=0,c1=0;
    for(int i=0;i<n;i++){
      c0+=(x[i][j]==0);
      c1+=(x[i][j]==1);
    }
    y.push_back(ii(min(c0,c1),j));
  }
  sort(y.begin(),y.end());
  /* for(int i=0;i<y.size();i++){
    cout<<y[i].first<<" "<<y[i].second<<endl;
  }*/
  ll s=0;
  int l=m-1;
  for(int i=0;i<k;i++){
    int id=y[l].second;
    for(int j=0;j<n;j++){
      ti[j][id]=i;
    }
    s+=y[l].first;
    l--;
  }
  allocate_tickets(ti);
  return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...