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 "tickets.h"
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#define R(i,n,...) for(int i=__VA_ARGS__+0; i<(n); ++i)
struct pii {
int x, i;
bool operator<(const pii b) const { return x<b.x; }
};
struct iii {
int x, y, i;
bool operator<(const iii b) const { return x>b.x || x==b.x && y<b.y; }
};
ll find_maximum(int K, vector<vector<int>> A) {
const int N=A.size(), M=A[0].size(), X=N*K/2;
ll sum=0;
vector<pii> B(N*K);
R(i, N) {
R(j, K) {
sum+=A[i][M-K+j];
B[i*K+j]={A[i][M-K+j]+A[i][j], i};
}
fill(begin(A[i]), end(A[i]), -1);
}
sort(begin(B), end(B));
vector<int> C(N);
vector<iii> L(N);
R(i, X) sum-=B[i].x, C[B[i].i]++;
R(i, N) L[i]={C[i], K-C[i], i};
R(i, K) {
sort(begin(L), end(L));
R(j, N/2) A[L[j].i][--L[j].x]=i;
R(j, N, N/2) A[L[j].i][M-L[j].y--]=i;
}
allocate_tickets(A);
return sum;
}
Compilation message (stderr)
tickets.cpp: In member function 'bool iii::operator<(iii) const':
tickets.cpp:13:61: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
13 | bool operator<(const iii b) const { return x>b.x || x==b.x && y<b.y; }
| ~~~~~~~^~~~~~~~
# | 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... |