towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:12:55: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to 'int' may change value [-Wconversion]
12 | int v = max_element(dist.begin(), dist.end()) - dist.begin();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
towns.cpp:16:55: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to 'int' may change value [-Wconversion]
16 | int u = max_element(dist.begin(), dist.end()) - dist.begin();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
towns.cpp:23:40: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
23 | int e = dist[i] + dist2[i] - dist[u] >> 1;
towns.cpp:32:55: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to 'int' may change value [-Wconversion]
32 | int v = max_element(dist.begin(), dist.end()) - dist.begin();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
towns.cpp:36:55: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to 'int' may change value [-Wconversion]
36 | int u = max_element(dist.begin(), dist.end()) - dist.begin();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
towns.cpp:43:40: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
43 | int e = dist[i] + dist2[i] - dist[u] >> 1;
towns.cpp:49:44: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
49 | int e = dist[i] + dist2[i] - dist[u] >> 1;
towns.cpp:55:32: warning: conversion from 'std::vector<int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
55 | const int m = mega.size();
| ~~~~~~~~~^~
towns.cpp:59:44: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
59 | int e = dist[i] + dist2[i] - dist[u] >> 1;
towns.cpp:60:77: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} may change value [-Wconversion]
60 | adj[i] = lower_bound(mega.begin(), mega.end(), dist[i] - e) - mega.begin();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~