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;
typedef long long ll;
typedef pair<int,int> ii;
#define fi first
#define se second
#define pb push_back
#define all(x) x.begin(),x.end()
ll find_maximum(int k,vector<vector<int>> x){
int n=x.size();
int m=x[0].size();
vector<vector<int>> answer;
answer.resize(n);
for(int i=0;i<n;++i)answer[i].resize(m,-1);
vector<ii> v;
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
v.pb({x[i][j],i*m+j});
}
}
sort(all(v));
int l=0,r=n*m-1;
vector<bool> use(n,false);
ll mx=0;
for(int i=0;i<n/2;++i){
while(use[v[l].se/m])++l;
use[v[l].se/m]=true;
answer[v[l].se/m][v[l].se%m]=0;
mx-=v[l].fi;
while(use[v[r].se/m])--r;
use[v[r].se/m]=true;
answer[v[r].se/m][v[r].se%m]=0;
mx+=v[r].fi;
}
allocate_tickets(answer);
return mx;
}
# | 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... |