Codeforces и Polygon могут быть недоступны в период с 6 декабря, 22:00 (МСК) по 7 декабря, 00:00 (МСК) в связи с проведением технических работ. ×

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

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

Yesterday, I solved Problem B in Educational Codeforces Round 167 (Rated for Div. 2), but when I submitted the solution using GNU C++20 13.2 (64 bit, winlibs), the system gave me a runtime error. (Submission Link: https://codeforces.net/contest/1989/submission/267808899)

I didn't know what caused this error, so I changed the compiler to GNU C++14 6.4.0, and somehow I got accepted! (Submission Link: https://codeforces.net/contest/1989/submission/267843646)

Does anyone have any explanation?

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

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

Same to my friend [user:@aritro_sarkar]

»
5 недель назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
    for (ll i = 0; i <= b.size() - length; ++i)
        substrings.insert(b.substr(i, length));

i==b.size()-length 时,b.substr(i,length) 会造成访问越界。

»
5 недель назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
    for (ll i = 0; i <= b.size() - length; ++i)
        substrings.insert(b.substr(i, length));

Sorry, I forgot to use English.

When i==b.size()-lengthb.substr(i,length) may cause out_of_range