#include "tickets.h"
#include <bits/stdc++.h>
#define fi first
#define se second
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int MAXN = 1505;
int N, M, P[MAXN];
ll sum;
pii S[MAXN];
priority_queue <pii> Q;
ll find_maximum(int K,vector<vector<int>> A) {
N = A.size();
M = A[0].size();
vector<vector<int>> ans(N,vector<int>(M,-1));
for (int i=0;i<N;i++) {
for (int j=0;j<K;j++) {
sum -= A[i][j];
}
Q.push({A[i][K-1]+A[i][M-1],i});
}
for (int i=0;i<N*K;i+=2) {
pii T = Q.top();
Q.pop();
sum += T.fi;
P[T.se]++;
if (P[T.se] < K) {
Q.push({A[T.se][K-1-P[T.se]]+A[T.se][M-1-P[T.se]],T.se});
}
}
for (int i=0;i<K;i++) {
for (int j=0;j<N;j++) {
S[j] = {P[j],j};
}
sort(S,S+N);
for (int j=0;j<N/2;j++) {
ans[S[j].se][K-i-P[S[j].se]-1] = i;
}
for (int j=N/2;j<N;j++) {
ans[S[j].se][M-P[S[j].se]] = i;
P[S[j].se]--;
}
}
allocate_tickets(ans);
return sum;
}
# | 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... |