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>
typedef long long ll;
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
ll n,i,jar[550],tam[550],has,j,d[550][550],C,b[550];
vector<ll> v[550],w[550];
void PC()
{
ll ii,jj,kk,ma=0;
for(ii=0;ii<n*2;ii++)
for(jj=0;jj<n*2;jj++)
if(ii!=jj)
d[ii][jj]=1e18;
for(ii=0;ii<n*2;ii++)
for(jj=0;jj<v[ii].size();jj++)
d[ii][v[ii][jj]]=min(d[ii][v[ii][jj]],w[ii][jj]);
for(kk=0;kk<n*2;kk++)
for(ii=0;ii<n*2;ii++)
for(jj=0;jj<n*2;jj++)
d[ii][jj]=min(d[ii][jj],d[ii][kk]+d[kk][jj]);
}
ll cek(ll aa,ll bb)
{
ll ma=0;
ll ii,jj;
for(ii=n;ii<n*2;ii++)
for(jj=ii+1;jj<n*2;jj++)
{
if(ma>=has)
return ma;
ma=max(ma,min(d[ii][jj],min(d[ii][aa]+C+d[bb][jj],d[ii][bb]+C+d[aa][jj])));
}
return ma;
//cout<<aa<<" "<<bb<<" "<<ma<<" "<<cln<<"\n";
/*
ma=0;
for(ii=0;ii<(n*2);ii++)
d[ii]=1e18;
d[cln]=0;
pq.push(mp(0,cln));
cln=0;
while(!pq.empty())
{
ll u=pq.top().se;
ll dis=-pq.top().fi;
pq.pop();
if(d[u]!=dis)
continue;
ma=max(ma,d[u]);
if(ma==d[u])
cln=u;
ll ii;
for(ii=0;ii<v[u].size();ii++)
{
if(d[v[u][ii]]>d[u]+w[u][ii])
{
d[v[u][ii]]=d[u]+w[u][ii];
pq.push(mp(-d[v[u][ii]],v[u][ii]));
}
}
}
//cout<<aa<<" "<<bb<<" "<<ma<<"\n";
//cout<<ma<<"\n";
return ma;
*/
}
long long find_shortcut(int N, std::vector<int> l, std::vector<int> d, int c)
{
n=N;
C=c;
for(i=0;i<(n-1);i++)
jar[i]=l[i];
for(i=0;i<n;i++)
tam[i]=d[i];
for(i=0;i<(n-1);i++)
{
v[i].pb(i+1);
w[i].pb(jar[i]);
v[i+1].pb(i);
w[i+1].pb(jar[i]);
}
for(i=0;i<n;i++)
{
v[i].pb(i+n);
w[i].pb(tam[i]);
v[i+n].pb(i);
w[i+n].pb(tam[i]);
}
PC();
has=1e18;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
has=min(has,cek(i,j));
return has;
}
Compilation message (stderr)
shortcut.cpp: In function 'void PC()':
shortcut.cpp:19:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(jj=0;jj<v[ii].size();jj++)
~~^~~~~~~~~~~~~
shortcut.cpp:13:14: warning: unused variable 'ma' [-Wunused-variable]
ll ii,jj,kk,ma=0;
^~
# | 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... |