#include"tickets.h"
#include<bits/stdc++.h>
using namespace std;
long long find_maximum(int k,vector< vector<int> > x)
{
	int n=x.size(),m=x[0].size();
	vector< vector<int> > ans(n),vl(n),vr(n);
	vector< vector< pair<int,int> > > vi(n);
	priority_queue< pair< int,pair<int,int> >,vector< pair< int,pair<int,int> > >,greater< pair< int,pair<int,int> > > > pq;
	long long s=0;
	for(int i=0;i<n;i++)
	{
		vi[i].resize(m),ans[i].resize(m);
		for(int j=0;j<m;j++) vi[i][j]={x[i][j],j},ans[i][j]=-1;
		sort(vi[i].begin(),vi[i].end());
		for(int j=m-1;j>=m-k;j--) ans[i][vi[i][j].second]=0,s+=vi[i][j].first;
		pq.push({vi[i][0].first+vi[i][m-k].first,{i,0}});
	}
	for(int i=0;i<n/2*k;i++)
	{
		int x=pq.top().second.first,y=pq.top().second.second,val=pq.top().first;
		pq.pop(),s-=val,ans[x][vi[x][y].second]=0,ans[x][m-k+vi[x][y].second]=-1,vl[x].push_back(y);
		if(y+1<k) pq.push({vi[i][y+1].first+vi[i][m-k+y+1].first,{x,y+1}});
	}
	for(int i=0;i<n;i++)
	{
		int st=m-k;
		if(!vl[i].empty()) st=m-k+vl[i].back()+1;
		for(int j=st;j<m;j++) vr[i].push_back(j);
	}
	for(int i=0;i<k;i++)
	{
		vector<bool> ck(n);
		vector< pair<int,int> > vv;
		for(int j=0;j<n;j++) vv.push_back({vl[j].size(),j});
		sort(vv.begin(),vv.end(),greater< pair<int,int> >());
		for(int j=0;j<n;j++) if(j<n/2)
		{
			int pos=vv[j].second,py=vl[pos].back();
			ans[pos][vi[pos][py].second]=i,ck[pos]=true,vl[pos].pop_back();
		}
		else
		{
			int pos=vv[j].second,py=vr[pos].back();
			ans[pos][vi[pos][py].second]=i,ck[pos]=true,vr[pos].pop_back();
		}
	}
	allocate_tickets(ans);
	return s;
}
| # | 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... |