# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
754461 | HaciyevAlik | Cyberland (APIO23_cyberland) | C++17 | 22 ms | 4068 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 "cyberland.h"
#include <bits/stdc++.h>
const int mx=5;
std::vector<std::pair<int,int>> g[mx];
int used[mx];
void dfs(int u) {
used[u]=1;
for(int i=0;i<(int)g[u].size();++i) {
std::pair<int,int> v=g[u][i];
if(!used[v.first]) {
dfs(v.first);
}
}
}
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) {
for(int i=0;i<mx;++i) g[i].clear();
memset(used,0,sizeof(used));
for(int i=0;i<M;++i) {
int u=x[i],v=y[i],w=c[i];
g[u].push_back({v,w});
g[v].push_back({u,w});
}
double ans1=0,ans2=0;
dfs(0);
if(!used[H]) return -1;
if(H==1) {
bool f=0,F=0;
for(int i=0;i<(int)g[0].size();++i) {
if(g[0][i].first==1) {
f=1;
ans1+=g[0][i].second; break;
}
}
for(int i=0;i<(int)g[0].size();++i) {
if(g[0][i].first==2) {
ans2+=g[0][i].second;
if(arr[2]==0) {
ans2=0;
} else if(arr[2]==2) {
ans2/=2;
}
for(int j=0;j<(int)g[2].size();++j) {
if(g[2][j].first==1) {
F=1;
ans2+=g[2][j].second;
}
}
}
}
if(f&&F) return std::min(ans1,ans2);
if(!f&&F) return ans2;
if(f&&!F) return ans1;
} else {
bool f=0,F=0;
for(int i=0;i<(int)g[0].size();++i) {
if(g[0][i].first==2) {
f=1;
ans1+=g[0][i].second; break;
}
}
for(int i=0;i<(int)g[0].size();++i) {
if(g[0][i].first==1){
ans2+=g[0][i].second;
if(arr[1]==0) {
ans2=0;
} else if(arr[1]==2) {
ans2/=2;
}
for(int j=0;j<(int)g[1].size();++j) {
if(g[1][j].first==2){
ans2+=g[1][j].second; F=1;
}
}
}
}
if(f&&F) return std::min(ans1,ans2);
if(!f&&F) return ans2;
if(f&&!F) return ans1;
}
}
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... |