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"
#define MAXN 100009
#define INF 1000000007
#define mp(x,y) make_pair(x,y)
#define all(v) v.begin(),v.end()
#define pb(x) push_back(x)
#define wr cout<<"----------------"<<endl;
#define ppb() pop_back()
#define tr(ii,c) for(__typeof((c).begin()) ii=(c).begin();ii!=(c).end();ii++)
#define ff first
#define ss second
#define my_little_dodge 46
#define debug(x) cerr<< #x <<" = "<< x<<endl;
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
template<class T>bool umin(T& a,T b){if(a>b){a=b;return 1;}return 0;}
template<class T>bool umax(T& a,T b){if(a<b){a=b;return 1;}return 0;}
const int N=1502;
int l[N],r[N];
bool cmp(int x,int y){return (l[x]>l[y]);}
long long find_maximum(int k,vector<vector<int> > arr) {
priority_queue<pair<ll,int> >q;ll res=0;
int n=arr.size(),m=arr[0].size();vector<int>ind(n);
vector<vector<int>> answer(n,vector<int>(m,-1));
for(int i=0;i<n;i++){ind[i]=i;
for(int j=0;j<k;j++)res-=arr[i][j];
q.push(mp(arr[i][l[i]=k-1]+arr[i][r[i]=m-1],i));
}
for(int i=0;i<n*k/2;i++){
int ind=q.top().ss;res+=q.top().ff;q.pop();
q.push(mp(arr[ind][--l[ind]]+arr[ind][--r[ind]],ind));
}
while(k--){sort(all(ind),cmp);
for(int i=0;i<n/2;i++)answer[ind[i]][l[ind[i]]--]=k;
for(int i=n/2;i<n;i++)answer[ind[i]][++r[ind[i]]]=k;
}
allocate_tickets(answer);
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... |