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

Автор ComboGirl, история, 14 месяцев назад, По-английски

In the following two submissions 224059045 and 224058953 the only difference is one line where I replaced

memset(dc, n+5, sizeof(dc));

with

for(int i=1;i<=n;i++) dc[i] = n+5;

and it WA on the first but AC with the latter. I'm not sure why this is happening. Any ideas?

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

»
14 месяцев назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

Memset basically fills each byte in the range with the specific value given. With your memset you are putting value n+5 in each of the four bytes in dc[i]. That integer dc[i] is not equal to n+5 but something completely different.

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

for values which is not 1 byte, use std::fill instead of std::memset