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;
struct Item{
int x, i, j;
bool operator < (const Item &sc) const{
return x < sc.x;
}
};
long long find_maximum(int k, vector<vector<int>> arr){
int n = arr.size();
int m = arr[0].size();
vector ans(n, vector(m, -1));
long long ansvalue = 0;
vector<Item> v;
for(int i = 0; i < n; i++){
for(int j = 0; j < k; j++){
ansvalue += arr[i][m - 1 - j];
}
}
for(int i = 0; i < n; i++){
for(int j = 0; j < k; j++){
v.push_back({arr[i][j] + arr[i][m - k + j], i, j});
}
}
sort(v.begin(), v.end());
for(int i = 0; i < (n * k) / 2; i++){
ansvalue -= v[i].x;
ans[v[i].i][v[i].j] = i / (n / 2);
}
for(int i = (n * k) / 2; i < n * k; i++){
ans[v[i].i][m - k + v[i].j] = (i - (n * k) / 2) / (n / 2);
}
allocate_tickets(ans);
return ansvalue;
}
# | 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... |