Start

2019-11-08 23:34 CET

Dagy Svår Tävling 3

End

2019-11-15 23:34 CET
The end is near!
Contest is over.
Not yet started.
Contest is starting in -1623 days 7:48:44

Time elapsed

168:00:00

Time remaining

0:00:00

Problem A
Samla stenar

$N$ stenar ligger stökigt utspridda i ett koordinatsystem. Varje sten har en koordinat ($x_ i$,$y_ i$). Det har blivit dags att samla ihop stenarna, och till din hjälp har du skaffat en supersmart stenplockarmaskin.

Innan maskinen startar så ska du välja en punkt som du kallar uppsamlingspunkten $S$. Det är punkten där maskinen börjar, och där den kommer att placera de insamlande stenarna. Den måste ligga någonstans på x-axeln. Maskinen börjar på uppsamlingspunkten $(S,0)$, och samlar sedan upp alla stenar och placerar dem på uppsamlingspunkten. Maskinen kan bara bära en sten i taget.

Bränsle är dyrt, så du tänkte försöka vara lite smart. Du vet att när maskinen sätter igång så åker den alltid och samlar upp alla stenar på optimalt vis, men de är upp till dig att välja uppsamlingspunkten så att den totala sträckan maskinen åkt blir minimal. Hur lång blir denna sträcka, givet att du väljer uppsamlingspunkten optimalt? Du kan betrakta stenarna och maskinen som punkter i talplanet.

Delpoäng

På det här problemet kan du samla poäng trots att du inte löser problemet helt och hållet.

  • För 30% av poängen gäller att alla stenar ligger på x-axeln, och $1 \leq N \leq 1000$.

  • För 30% av poängen gäller att alla stenar ligger på x-axeln, och $1 \leq N \leq 10^5$.

  • För 40% av poängen gäller att stenarna kan ligga var som helst inom angiven radie, och $1 \leq N \leq 10^5$.

Indata

På första raden i indata står heltalet $N$, antalet stenar.

Sedan följer $N$ rader med par av flyttal $x_ i y_ i$, stenarnas koordinater. Alla stenar i indata ligger maximalt 100 längdenheter från origo.

Utdata

Utdata ska bestå av ett enda flyttal: Minsta möjliga totala sträcka som maskinen har åkt efter att den samlat upp alla stenar. Ett fel mindre än $10^{-4}$ betraktas som korrekt.

Tips: Se till att ditt program skriver ut tillräckligt många decimaler även när svaret är stort.

Förklaring till exempel 1

\includegraphics[scale=0.4]{stenar1.png}
Figure 1: Figuren visar ett möjligt val på startpunkt som leder till minimal körsträcka för maskinen, x = 1.25. Maskinen behöver åka 0.5 längdenheter för att hämta den vänstra stenen, och sedan 0.5 längdenheter för att hämta den högra.

Förklaring till exempel 2

\includegraphics[scale=0.4]{stenar2.png}
Figure 2: Figuren visar den optimala startpositionen för maskinen, vid x = 2.0. Total sträcka åkt blir $4\cdot \sqrt {2^2 + 1} = 8.94427191...$ .
Sample Input 1 Sample Output 1
2
1 0
1.5 0
1
Sample Input 2 Sample Output 2
2
3 2
1 2
8.944271910
Sample Input 3 Sample Output 3
5
3.79732 0
6.87374 0
5.9189 0
2.56951 0
8.84052 0
18.694860000
Sample Input 4 Sample Output 4
7
5.46618 9.46294
1.43546 1.58368
0.616149 6.18241
2.73059 9.56861
0.240727 3.9266
5.22356 8.6161
7.3643 6.98542
99.854778111