Submission #1269967

#TimeUsernameProblemLanguageResultExecution timeMemory
1269967FaggiCyberland (APIO23_cyberland)C++20
5 / 100
943 ms2162688 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...