230 {
231 int newMaxBandwidth = 0;
232 long long int newSumBandwidth = 0;
233 int oldMaxBandwidth = 0;
234 long long int oldSumBandwidth = 0;
235 Vint iperm(perm.size());
236 for (size_t i = 0; i < perm.size(); ++i)
237 {
238 iperm[perm[i]] = i;
239 }
240 for (
size_t i = 0; i <
_N; ++i)
241 {
242 for (
const auto &j :
_Adj[i])
243 {
244 const int newBandwidth = abs(perm[i] - perm[j]);
245 newMaxBandwidth =
max(newMaxBandwidth, newBandwidth);
246 newSumBandwidth += newBandwidth;
247 const int oldBandwidth = abs(((int)i) - j);
248 oldMaxBandwidth =
max(oldMaxBandwidth, oldBandwidth);
249 oldSumBandwidth += oldBandwidth;
250 }
251 }
253 {
254 cout <<
"n:" <<
_N <<
" Old/New Max: " << ((double)oldMaxBandwidth)<<
"/"<<((
double)newMaxBandwidth);
255 cout << " Sum: " << ((double)oldSumBandwidth)<<"/"<<((double)newSumBandwidth) << endl;
256 }
257 }