#include "tickets.h"
#include <iostream>
#include <bits/stdc++.h>
#define fi first
#define se second
using namespace std;
typedef long long ll;
int inf = 1e9 + 7;
ll find_maximum(int k, vector<vector<int>> x) {
int n = x.size();
int m = x[0].size();
vector<vector<pair<ll, ll>>> a(n, vector<pair<ll, ll>>(m));
vector<vector<int>> result(n, vector<int>(m, -1));
ll res = 0;
vector<vector<int>> big(n), sma(n);
for (int i = 0; i < n; i++) {
for (int j =0; j < m; j++) {
a[i][j] = {x[i][j], j};
}
sort(a[i].rbegin(), a[i].rend());
ll sum = 0;
for (int j = 0; j < k; j++) {
sum += a[i][j].fi;
result[i][a[i][j].se] = 1;
}
vector<vector<ll>> stuff;
for (int j = k - 1; j >= 0; j--) {
int ind = m - (k - j);
stuff.push_back({-a[i][j].fi - a[i][ind].fi, j, ind});
}
sort(stuff.rbegin(), stuff.rend());
for (int j = 0; j < k / 2; j++) {
sum += stuff[j][0];
result[i][a[i][stuff[j][1]].se] = -1;
result[i][a[i][stuff[j][2]].se] = 0;
}
res += sum;
for (int j = 0; j < m; j++) {
if (result[i][j] == 1) {
big[i].push_back(j);
result[i][j] = 0;
} else if (result[i][j] == 0) {
sma[i].push_back(j);
}
}
}
allocate_tickets(result);
return res;
}
# | 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... |