이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "swap.h"
#include<bits/stdc++.h>
#include <vector>
#define pb push_back
using namespace std;
const int N = 1e6 + 5;
vector<pair<int, int> > g[N];
int mx, n, m;
bool sb2 = 1;
void init(int N, int M,
std::vector<int> U, std::vector<int> V, std::vector<int> W) {
n = N;
m = M;
for(int i = 0; i < M; ++i){
int u = U[i], v = V[i], w = W[i];
if(u != 0 and v != 0)
sb2 = false;
g[u].pb({w, v});
g[v].pb({w, u});
mx = max(mx, w);
}
for(int i = 0; i < n; ++i)
sort(g[i].begin(), g[i].end());
}
int getMinimumFuelCapacity(int X, int Y) {
if(sb2 and m == n - 1){
if(n <= 3) return -1;
if(X == 0){
int x = g[Y][0].first, xx, dest, mn;
if(g[0][0].second != Y){
xx = g[0][0].first;
dest = g[0][0].second;
}else{
xx = g[0][1].first;
dest = g[0][1].second;
}
if(g[0][1].second != Y and g[0][1].second != dest)
mn = g[0][1].first;
else
mn = g[0][2].first;
return max({x, xx, mn});
}
int x = g[X][0].first, xx = g[Y][0].first, mn;
if(g[0][0].second != X and g[0][0].second != Y)
mn = g[0][0].first;
else if(g[0][1].second != X and g[0][1].second != Y)
mn = g[0][1].first;
else
mn = g[0][2].first;
return max({x, xx, mn});
}
}
컴파일 시 표준 에러 (stderr) 메시지
swap.cpp: In function 'int getMinimumFuelCapacity(int, int)':
swap.cpp:54:1: warning: control reaches end of non-void function [-Wreturn-type]
54 | }
| ^
# | 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... |