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;
#define pii pair<int, int>
#define ll long long
ll find_maximum(int k, std::vector<std::vector<int>> x) {
	int n = x.size();
	int m = x[0].size();
	vector<vector<int>> res;
	res.resize(n);
	for(int i = 0; i < n; i++) res[i].resize(m, -1);
	vector<int> l(n, 0), r(n, m - 1);
	ll ans = 0;
	for(int j = 0; j < k; j++){
		vector<pii> v;
		for(int i = 0; i < n; i++){
			v.push_back({x[i][l[i]] + x[i][r[i]], i});
		}
		sort(v.begin(), v.end());
		for(int i = 0; i < n; i++){
			if(i < n / 2){
				ans -= (x[v[i].second][l[v[i].second]]);
				res[v[i].second][l[v[i].second]] = j;
				l[v[i].second]++;
			}
			else{
				ans += (x[v[i].second][r[v[i].second]]);
				res[v[i].second][r[v[i].second]] = j;
				r[v[i].second]--;
			} 
		}
	}
	allocate_tickets(res);
	return ans;
}
| # | 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... |