Блог пользователя Jomax100

Автор Jomax100, история, 5 лет назад, По-английски

As the title suggests, I submitted the identical source code, which in my environment and in c++17 gives the right answer, but in c++14 it gives WA. I am aware this usually involves some sort of default initialization, but I believe my codes does not rely on that. I appreciate your help and insights as to what might be happening!

WA

AC

Two editorials for this problem, but I followed this one

  • Проголосовать: нравится
  • +18
  • Проголосовать: не нравится

»
5 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by Jomax100 (previous revision, new revision, compare).

»
5 лет назад, # |
  Проголосовать: нравится +75 Проголосовать: не нравится
id[a[i].u] = sz(id);

It is not guaranteed that sz(id) will be evaluated before id[a[i].u], until C++17.
For more info: Order of evaluation

»
5 лет назад, # |
  Проголосовать: нравится -22 Проголосовать: не нравится

You should write forn(h, sz(b)+1){ forn(u, sz(b)+1){ forn(v, sz(b)+1){ mmin(dp[u][v], dp[u][h] + dp[h][v]); } } } because your indexes are from 1 to sz(b),not 0 to sz(b)-1 After changing it got AC:57892426