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

Автор Vedkribhu, история, 4 года назад, По-английски

For some testcases I am getting a run time error while it runs fine on my local machine. Problem code. Any help would be awesome.

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

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

you might be declaring a 1-d or 2-d array of size>2*10^6. so for lower values it work fine on local compiler but solution can't be accepted due to size overflow.

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится

    Given that it's been 6 months, I'm not sure the OP still needs help. But I would like to point out that 2 * 106 fits comfortably in 512MB.

    You were still right about the error though. The OP is creating an array of size N * X. N ≤ 103 and X ≤ 105, which means that 108 long longs will be created. This will cause MLE.

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

      what is solution for this MLE problem ? can you explain please. it would be helpul

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

        The short answer is that you need to write a solution that uses less memory. That's what Memory Limit Exceeded means.

        The long answer depends on what solution you have right now.

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

        using Long long int here is causing the memory to exceed the limits , if u look at the constraints they can be met using int only so trying using int instead of long long int and that should solve the issue :)

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

if u are writing a cpp code just dont use long long int , instead use int which takes less memory since MLE is the reason for runtime error . I did the same and it worked , thanks for this post though :)

  • »
    »
    4 года назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    if u are writing a cpp code just dont use what you don't understand. long long is a 64-bit integer type while int is a 32-bit integer type (on most computers). This means an int can contain whole numbers up to an order of $$$10^9$$$ while long long can contain numbers up to something like $$$10^{18}$$$. If your solution may use numbers larger than $$$10^9$$$, you have to use long long.

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

      what you are saying is exactly correct , but the question he is talking about can be solved easily with int , which is why I suggested it , I suggested him to write int for the specific code, not in general. Although now that i am reading my own post it sounds wrong , nvm my bad. thanks