Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- long long int v0, v1, k;
- struct st{
- long long int differenza;
- long long int vmax;
- long long int vmin;
- long long int pmax;
- };
- st v[10000000];
- st j;
- bool comp(st &t, st &r){
- return t.differenza>r.differenza;
- }
- long long solve(int n, int* m, int* p){
- for(int x=0; x<n; x++){
- j.differenza=abs(m[x]-p[x]);
- if(m[x]>p[x]){
- j.vmax=m[x];
- j.pmax=0;
- j.vmin=p[x];
- }else{
- j.vmax=p[x];
- j.pmax=1;
- j.vmin=m[x];
- }
- v[x]=j;
- }
- sort(v, v+n, comp);
- for(int x=0; x<n; x++){
- if(v[x].pmax==0){
- if(v0<n/2){
- v0++;
- k+=v[x].vmax;
- }else{
- v1++;
- k+=v[x].vmin;
- }
- }else{
- if(v1<n/2){
- v1++;
- k+=v[x].vmax;
- }else{
- v0++;
- k+=v[x].vmin;
- }
- }
- }
- return k;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement