Connection Status:
Competition Arena > ReverseMagicalSource
SRM 451 · 2009-10-20 · by vexorian · Simple Search, Iteration
Class Name: ReverseMagicalSource
Return Type: int
Method Name: find
Arg Types: (int, int)
Problem Statement

Problem Statement

Rick firmly believes that there are magical patterns related to some numbers. This belief is the result of his own tendency to find odd patterns everywhere. He has recently thought that some numbers have a "magical source". For example, the number 1370974 has a magical source equal to 1234 because of the following process:
     1234
+   12340
+  123400
+ 1234000
---------
  1370974
Formally, 1234 is a magical source of 1370974 because there exists a number n such that the sum of a sequence of n numbers, where the i-th number (0-indexed) is 1234 multipled by 10^i, is equal to 1370974. Note that by this definition, a positive number is a magical source of itself.

Given a positive int source, and an int A return the minimum number x such that x is greater than A and source is a magical source of x.

Constraints

  • source will be between 1 and 1000000, inclusive.
  • A will be between 1 and 1000000, inclusive.
Examples
0)
19
200
Returns: 209

19 + 190 = 209

1)
19
18
Returns: 19

A positive number is a magical source of itself.

2)
333
36963
Returns: 369963
3)
1234
1000000
Returns: 1370974
4)
943103
757846
Returns: 943103

Submissions are judged against all 126 archived test cases, of which 5 are shown here. Case numbers match the judge’s.

Coding Area

Language: C++17 · define a public class ReverseMagicalSource with a public method int find(int source, int A) · 126 test cases · 2 s / 256 MB per case

Submitting as anonymous