// 가중치 범위를 훑어나가며 경로가 존재하는 가중치 범위의 최소 크기를 찾는다.
int scanning() {
int lo = 0, hi = 0, ret = INF;
while(lo < weights.size() && hi < weights.size()) {
if(hasPath(weights[lo], weights[hi])) {
ret = min(ret, weights[hi] - weights[lo]);
++lo;
}
else {
++hi;
}
}
return ret;
}