#include <bits/stdc++.h>
#define ll long long
#define sz(x) int(x.size())
#define all(x) x.begin(),x.end()
#define fr first
#define se second
#define pb push_back
#define mp make_pair
using namespace std;
const int MAXN=1e5+1;
double solve(int N, int M, int K, int H, std::vector<int> x, std::vector<int> y, std::vector<int> c, std::vector<int> arr) {
if(N==2)
{
if(sz(c)==0)
return -1;
return c[0];
}
vector<vector<double>>v(N,vector<double>(N,-1));
ll i;
if(H==1)
{
swap(arr[1],arr[2]);
}
for(i=0; i<M; i++)
{
if(H==1)
{
if(x[i]==1)
x[i]=2;
else if(x[i]==2)
x[i]=1;
if(y[i]==1)
y[i]=2;
else if(y[i]==2)
y[i]=1;
}
v[x[i]][y[i]]=c[i];
v[y[i]][x[i]]=c[i];
}
double mi=-1;
if(v[0][1]!=-1&&v[1][2]!=-1)
{
mi=v[0][1]+v[1][2];
if(arr[1]==0)
{
mi=v[1][2];
}
else if(arr[1]==2)
{
mi=v[0][1]/2+v[1][2];
}
}
if(v[0][2]!=-1)
{
if(mi==-1)
mi=v[0][2];
else
mi=min(v[0][2],mi);
}
return mi;
}
# | 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... |