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

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

Ok, so I solved this problem: http://mirror.codeforces.com/contest/91/problem/A. The interesting thing is that I submitted 2 buggy solutions before: 27178776 and 27178719. They are exactly the same, but one is compiled on C++11 and the other on C++14. My question is: why is there a difference? Does it have to do with the way C++11 and C++14 handles the way a vector works when you access the vector.size()th element (which doesn't exist)?

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

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

I think, problem is in that line, where you have put "auto", sometimes it doesn't work in cpp 5.1.0 and 14.6.2.0, but I haven't seen this problem in my codes. sorry for poor English

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

v[v.size()] is undefined so different compilers might behave differently.

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

I found one more mistake "int cur = upper_bound(all(pos[i — 'a']), ante) — pos[i — 'a'].begin();", you didn't look at case — if upper_bound will be equal to pos[i-'a'].end(), it's big mistake, I think thats all:)