\[ \let\oldlor\lor \renewcommand{\lor}{\; \oldlor \;} \let\oldland\land \renewcommand{\land}{\; \oldland \;} \renewcommand{\set}[1]{\{\, #1 \,\}} \renewcommand{\given}{\,\mid\,} \renewcommand{\abs}[1]{\lvert #1 \rvert} \renewcommand{\divs}{\!\;\mid\;\!} \renewcommand{\ndivs}{\!\;\nmid\;\!} \renewcommand{\betw}[3][1]{#1 \leq #2 \leq #3} \renewcommand{\mod}[1]{\ (\mathrm{mod}\ #1)} \renewcommand{\floor}[1]{\left \lfloor #1 \right \rfloor} \renewcommand{\ceil}[1]{\left \lceil #1 \right \rceil} \renewcommand{\t}[1]{\texttt{#1}} \renewcommand{\fori}[2][i]{\text{for } #1 = 0, 1, \dots, #2} \renewcommand{\x}[1]{\text{#1}} \renewcommand\concat{\mathbin{+\mkern-10mu+}} \DeclareMathOperator*{\CONCAT}{\concat} \DeclareMathOperator*{\SCC}{\|} \]
CodeForces 492B - Vanya and Lanterns
View on CodeForces

Here we use a Binary-search the answer approach, on the light radius as the value under test. We have a boolean validation function, that tells us whether it is possible or not. And we want the smallest value for which it is possible.

If you can help it, it's better to use $\t{1e9}$ (which literally means $\t{1*10^9}$) for readability, over $1000000000$, since there's a chance you might mistype the number of $0$'s you need. In this case, I made sure the cast works correctly before using this. Scale all values by this quantity, so we don't need to worry about losing precision on double types.

JavaScript (Not Accepted)

Unfortunately, both options for submitting JavaScript: Node 9.4.0, and JavaScript V8 4.8.0, do not have support for the BigInt data type (added later, around 10.4 for Node). So the code below is not accepted, though I quite confident it is correct. Submitting JavaScript is really a special kind of thing, so I'm not surprised, but I did try a number of approaches in effort to get this to work. Even pulling in a minified BigNumber library won't work, though I'm sure there is someone out there who could figure something out. For me, it's not worth it, at least for this problem.

Lesson learned: Don't waste time doing JavaScript for input with bounds $\geq 2^{53}$.

Links

CodeForces

1A Theatre Square
4A Watermelon
25A IQ test
50A Domino piling
58A Chat room
59A Word
69A Young Physicist
71A Way Too Long Words
96A Football
112A Petya and Strings
118A String Task
131A cAPS lOCK
158A Next Round
189A Cut Ribbon
230B T-primes
231A Team
263A Beautiful Matrix
281A Word Capitalization
282A Bit++
318A Even Odds
339A Helpful Maths
339B Xenia and Ringroad
455A Boredom
459B Pashmak and Flowers
474B Worms
479A Expression
486A Calculating Function
489B BerSU Ball
489C Given Length and Sum of Digits...
492B Vanya and Lanterns
500A New Year Transportation
507B Amr and Pins
513A Game
520B Two Buttons
550A Two Substrings
580A Kefa and First Steps
742A Arpa's hard exam and Mehrdad's naive cheat
766B Mahmoud and a Triangle
935A Fafa and his Company
977B Two-gram
977D Divide by three, multiply by two
996A Hit the Lottery
1097A Gennady and a Card Game
1108A Two distinct points
1154A Restoring Three Numbers

UVa

230 Borrowers
543 Goldbach's Conjecture
900 Brick Wall Patterns
10047 The Monocycle
10140 Prime Distance
10165 Stone Game
10338 Mischievous Children
10394 Twin Primes
10892 LCM Cardinality