A Times B

View as PDF

Submit solution

Points: 20 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Brain****, C, C++, Pascal, Rust

For a while now, FatalEagle has been thinking about fast multiplication. He found the problem on SPOJ, MUL, and solved it without too much trouble. Then he found VFMUL on the same site, but the same code for MUL didn't pass as the SPOJ servers were really slow. Frustrated and desperate to show off demonstrate his fast multiplication code, FatalEagle has created a problem that really tests the accuracy and speed of your fast multiplication code.

Input Specification

The first line of input will have A.

The second line of input will have B.

Both A and B will be non-negative integers strictly less than 10^{1\,000\,001}.

Output Specification

Output the product A \times B.

Sample Input

123456123456123456123456123456123456
987987876876765765654654543543432432321321

Sample Output

121973153300851295215956247283945278187966162014464020099359068031370037005376

Comments


  • -2
    AnisMANI  commented on March 26, 2022, 4:53 a.m.

  • -1
    Galaxy_Kenneth  commented on Nov. 29, 2021, 2:33 p.m.

    Any pointers on how to do this in C++ without getting a TLE?


  • -14
    c  commented on Sept. 21, 2019, 2:48 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • 7
    Zanger  commented on March 28, 2019, 2:19 a.m.

    I wrote the entire code on my IDE for java only to realize it doesn't allow it..... ;(


  • 5
    Zafirua  commented on Nov. 8, 2018, 6:06 p.m.

    Hmmm. Is it possible for you to allow Lua on this question? Or is it not possible?


  • 1
    kingW3  commented on Aug. 11, 2018, 4:34 p.m.

    So close... any tips on improving Karatsuba?


    • 6
      wleung_bvg  commented on Aug. 11, 2018, 5:01 p.m.

      Well Karatsuba was not the intended solution...


      • 3
        kingW3  commented on Aug. 17, 2018, 2:09 p.m.

        Yeah I initially wanted to implement FFT but it didn't quite workout, any idea on how to avoid overflow in NTT, choosing a modulo bigger then 2^{32} then multiplication overflows but if I choose a modulo smaller then 2^{32}(for example 7\cdot2^{26}+1) then the result is incorrect (or I can take base b=10 which TLE's).


  • -29
    SnowSR  commented on Dec. 6, 2015, 9:52 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


    • 11
      Kirito  commented on June 12, 2016, 10:35 p.m.

      Funny thing; I was reading the Java BigInteger documentation, and the fastest multiplication method would take 6 seconds on a worst case.


    • 31
      arock  commented on Dec. 6, 2015, 9:59 p.m.

      That is precisely why Java is disallowed.


      • 11
        Beautiful_Times  commented on Dec. 1, 2017, 2:39 p.m.

        Couldn't we disable bigInteger and bigDecimal like a + b hard?


        • 10
          Kirito  commented on Dec. 1, 2017, 10:17 p.m.

          There exists a certain com.sun.media.sound.FFT, which would trivialize the problem. As we currently do not trivially support the banning of arbitrary packages, Java will continue to be banned.


  • -39
    FatalEagle  commented on Jan. 15, 2015, 10:15 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


    • 17
      jcg9129  commented on Nov. 9, 2017, 7:20 a.m.

      My Karatsuba pass the tests, even faster than some FFTs implementations.