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 <vector>
#include <algorithm>
using namespace std;
vector < int > all;
struct A
{
int where;
int con;
}tt[1505];
bool F(A a,A b)
{
return a.con<b.con;
}
vector < vector < int > > answer;
vector < int > row;
long long find_maximum(int k,vector< vector<int> > x)
{
int n=x.size();
int m=x[0].size();
int i,j,t;
long long ans=0;
for(i=0;i<m;i++) row.push_back(-1);
for(i=0;i<n;i++) answer.push_back(row);
if(m==1)
{
for(int i=0;i<n;i++)
{
row[0]=0;
all.push_back(x[i][0]);
}
sort(all.begin(),all.end());
for(i=0;i<n;i++) ans+=abs(all[i]-all[n/2]);
}
else
{
for(i=0;i<n;i++)
{
tt[i].where=i;
for(j=0;j<m;j++) if(x[i][j]==1) break;
tt[i].con=j;
}
sort(tt,tt+n,F);
for(i=0;i<n/2;i++)
{
for(j=0;j<m;j++)
{
if(j%2==0) t=j/2;
else t=m-1-t/2;
ans+=x[tt[2*i].where][t]^x[tt[2*i+1].where][t];
answer[tt[2*i].where][t]=j;
answer[tt[2*i+1].where][t]=j;
}
}
}
allocate_tickets(answer);
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... |