# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
136986 | DanerZein | Shortcut (IOI16_shortcut) | C++14 | 2 ms | 376 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 "shortcut.h"
#include <bits/stdc++.h>
#define MA 5100000000000000010
using namespace std;
long long ne,N;
long long MAX=MA;
vector<int> di,s;
long long diam(int a,int b){
long long r=-1;
for(int i=0;i<N;i++){
for(int j=i+1;j<N;j++){
long long op1=di[i]+di[j]+abs(s[j]-s[i]);
long long op2=(di[i]+di[j]+abs(s[i]-s[a])+abs(s[j]-s[b])+ne);
if(op1<0) op1=MAX;
if(op2<0) op2=MAX;
r=max(r,min(op1,op2));
// cout<<op1<<" "<<op2<<endl;
}
}
return r;
}
long long find_shortcut(int n, std::vector<int> l, std::vector<int> d, int c){
ne=c;
N=n;
long long acum=0;
for(int i=0;i<=l.size();i++){
s.push_back(acum);
acum+=l[i];
}
di=d;
long long mi=MAX;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
long long rp=diam(i,j);
mi=min(rp,mi);
}
}
return mi;
}
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |