# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
127077 | DanerZein | Wiring (IOI17_wiring) | C++14 | 36 ms | 2800 KiB |
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 "wiring.h"
#include <bits/stdc++.h>
#define MAX 100000000
using namespace std;
long long min_total_length(std::vector<int> r, std::vector<int> b) {
long long s=0,le,ri;
le=0,ri;
ri=b.size()-1;
while(true){
s+=abs(r[le]-b[ri]);
le++;
ri--;
if(le==r.size()){
if(ri==-1)
break;
else{
le--;
while(true){
s+=abs(r[le]-b[ri]);
ri--;
if(ri==-1){
break;
}
}
break;
}
}
if(ri==-1){
if(le==r.size()){
break;
}
else{
ri++;
while(true){
s+=abs(r[le]-b[ri]);
le++;
if(le==r.size()){
break;
}
}
break;
}
}
}
// cout<<le<<" "<<ri<<endl;
if(le!=ri){
for(int i=le;i<=ri;i++){
s+=abs(r[le-1]-b[i]);
}
}
return s;
}
/*
int main() {
int n, m;
assert(2 == scanf("%d %d", &n, &m));
vector<int> r(n), b(m);
for(int i = 0; i < n; i++)
assert(1 == scanf("%d", &r[i]));
for(int i = 0; i < m; i++)
assert(1 == scanf("%d", &b[i]));
long long res = min_total_length(r, b);
printf("%lld\n", res);
return 0;
}
*/
/*
4 5
0 1 2 3
4 5 7 9 10
*/
Compilation message (stderr)
# | 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... |