# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
723878 | NemanjaSo2005 | Carnival Tickets (IOI20_tickets) | C++14 | 328 ms | 72504 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>
#include "tickets.h"
#define ll long long
using namespace std;
ll N,M,K,vred=0,pok[1505];
vector<vector<int>> kako,koliko;
struct slog{
int gde;
ll dob;
bool operator < (const slog &a) const{
return dob<a.dob;
}
}pp;
struct boja{
vector<int> p,m;
int ind;
} niz[1505];
bool cmp(boja a,boja b){
return a.p<b.p;
}
priority_queue<slog> PQ;
void stavi(int gde){
pp.gde=gde;
pp.dob=koliko[gde][pok[gde]]+koliko[gde][pok[gde]+M-K];
PQ.push(pp);
return;
}
ll find_maximum(int k,vector<vector<int>> d){
kako=d;
koliko=d;
for(int i=0;i<kako.size();i++)
for(int j=0;j<kako[i].size();j++)
kako[i][j]=0;
K=k;
N=d.size();
M=d[0].size();
for(int i=0;i<N;i++){
pok[i]=K-1;
for(int j=0;j<K;j++){
kako[i][j]=-1;
vred-=koliko[i][j];
}
stavi(i);
}
for(int it=1;it<=N*K/2;it++){
int gde=PQ.top().gde;
vred+=PQ.top().dob;
PQ.pop();
kako[gde][pok[gde]+M-K]=1;
kako[gde][pok[gde]]=0;
pok[gde]--;
stavi(gde);
}
for(int i=0;i<N;i++){
niz[i].ind=i;
for(int j=0;j<M;j++){
if(kako[i][j]==0)
continue;
if(kako[i][j]==1)
niz[i].p.push_back(j);
else
niz[i].m.push_back(j);
}
}
for(int i=0;i<kako.size();i++)
for(int j=0;j<kako[i].size();j++)
kako[i][j]=-1;
for(int it=0;it<K;it++){
sort(niz,niz+N,cmp);
for(int i=0;i<N/2;i++){
kako[niz[i].ind][niz[i].m.back()]=it;
niz[i].m.pop_back();
}
for(int i=N/2;i<N;i++){
kako[niz[i].ind][niz[i].p.back()]=it;
niz[i].p.pop_back();
}
}
allocate_tickets(kako);
return vred;
}
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... |