#include "tickets.h"
//#include "grader.cpp"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define fr first
#define sc second
//#define int long long
long long find_maximum(int k, vector<vector<int>> x) {
int n=x.size(),m=x[0].size();
if(k==1){
vector<vector<int>> ans(n,vector<int>(m,-1));
vector<pair<int,int>> v(n);
vector<int> a;
for(int i=0;i<n;i++){
v[i]={x[i][0]+x[i][m-1],i};
}
sort(v.begin(),v.end());
for(int i=0;i<n/2;i++){
ans[v[i].sc][0]=0;
a.pb(x[v[i].sc][0]);
}
for(int i=n/2;i<n;i++){
ans[v[i].sc][m-1]=0;
a.pb(x[v[i].sc][m-1]);
}
allocate_tickets(ans);
sort(a.begin(),a.end());
long long s=(a[n/2]),res=0;
for(int i=0;i<n;i++) res+=abs(s-a[i]);
return res;
}
else if(k==m){
vector<vector<int>> ans(n,vector<int>(m,-1));
long long res=0;
vector<int> l(n),r(n,m-1),id(n),a(n);
iota(id.begin(),id.end(),0);
vector<pair<int,int>> v;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++)
v.pb({x[i][j],i});
}
sort(v.begin(),v.end());
for(int i=0;i<(int)v.size()/2;i++)
a[v[i].sc]++;
for(int t=0;t<k;t++){
sort(id.begin(),id.end(),[&](int i, int j){
return a[i]>a[j];
});
long long X=0,Y=0;
for(int i=0;i<n/2;i++){
X+=x[id[i]][l[id[i]]];
ans[id[i]][l[id[i]]]=t;
a[id[i]]--;
l[id[i]]++;
}
for(int i=n/2;i<n;i++){
Y+=x[id[i]][r[id[i]]];
ans[id[i]][r[id[i]]]=t;
r[id[i]]--;
}
res+=Y-X;
}
allocate_tickets(ans);
return res;
}
}
Compilation message
tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:68:1: warning: control reaches end of non-void function [-Wreturn-type]
68 | }
| ^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
340 KB |
Output is correct |
6 |
Correct |
1 ms |
724 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
2 ms |
340 KB |
Output is correct |
5 |
Correct |
17 ms |
2388 KB |
Output is correct |
6 |
Correct |
434 ms |
51328 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
212 KB |
Contestant returned 4 while correct return value is 6. |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
2 ms |
468 KB |
Output is correct |
5 |
Correct |
25 ms |
3680 KB |
Output is correct |
6 |
Correct |
4 ms |
852 KB |
Output is correct |
7 |
Correct |
5 ms |
1108 KB |
Output is correct |
8 |
Correct |
668 ms |
83960 KB |
Output is correct |
9 |
Correct |
621 ms |
78548 KB |
Output is correct |
10 |
Correct |
603 ms |
78524 KB |
Output is correct |
11 |
Correct |
658 ms |
84084 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
2 ms |
340 KB |
Output is correct |
3 |
Incorrect |
2 ms |
468 KB |
Contestant returned 188460030658 while correct return value is 191909121109. |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
2 ms |
340 KB |
Output is correct |
3 |
Incorrect |
2 ms |
468 KB |
Contestant returned 188460030658 while correct return value is 191909121109. |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
340 KB |
Output is correct |
6 |
Correct |
1 ms |
724 KB |
Output is correct |
7 |
Correct |
0 ms |
212 KB |
Output is correct |
8 |
Correct |
0 ms |
212 KB |
Output is correct |
9 |
Correct |
0 ms |
212 KB |
Output is correct |
10 |
Correct |
2 ms |
340 KB |
Output is correct |
11 |
Correct |
17 ms |
2388 KB |
Output is correct |
12 |
Correct |
434 ms |
51328 KB |
Output is correct |
13 |
Incorrect |
0 ms |
212 KB |
Contestant returned 4 while correct return value is 6. |
14 |
Halted |
0 ms |
0 KB |
- |