Universal Cup Judging System

Universal Cup

时间限制: 4.0 s 内存限制: 1024 MB 总分: 100
统计

Du får gitt heltallene $n, m, k$ og en følge bestående av $n$ heltall $a_i \in [1, m]$. Du kan høyst én gang velge et intervall i følgen (en sammenhengende delfølge) med lengde $k$ og ta gjennomsnittet av det, det vil si erstatte elementene i dette intervallet med deres aritmetiske gjennomsnitt. Denne prosessen tar $1$ tidsenhet, og hvert element i intervallet endrer seg jevnt med konstant hastighet. For eksempel har intervallet med elementene $(3, 9, 5, 1)$ et gjennomsnitt på $\frac{3+9+5+1}{4} = 4\frac{1}{2}$, så etter tiden $t = \frac{2}{3}$ er verdiene $(4, 6, 4\frac{2}{3}, 3\frac{1}{3})$, og etter tiden $t = 1$ blir de $(4\frac{1}{2}, 4\frac{1}{2}, 4\frac{1}{2}, 4\frac{1}{2})$. Formelt, etter tiden $t \in [0, 1]$, er et element med startverdi $a$ lik $a' = \bar{a} \cdot t + a \cdot (1 - t)$, der $\bar{a}$ er gjennomsnittet av intervallet. Bare elementene i det valgte intervallet endres.

Uavhengig for hvert tall $x$ fra $1$ til $m$ er oppgaven din å bestemme hvor raskt verdien $x$ kan dukke opp hvor som helst i følgen ved å utføre prosessen med å ta gjennomsnittet av et intervall. Etter hvor lang tid er dette mulig? Skriv ut -1 hvis det ikke er mulig å oppnå tallet $x$.

Inndata

Den første linjen inneholder tre heltall $n$, $m$ og $k$ ($1 \le k \le n \le 300\,000$; $1 \le m \le 500\,000$), som angir henholdsvis lengden på følgen, den øvre grensen for verdiene og lengden på det modifiserte intervallet.

Den andre linjen inneholder $n$ heltall $a_1, a_2, \dots, a_n$ ($1 \le a_i \le m$).

Utdata

Skriv ut $m$ linjer. På den $x$-te linjen skal du skrive ut den minimale tiden (et reelt tall) som trengs for å oppnå tallet $x$, eller skrive ut heltallet -1 (uten punktum) hvis det ikke er mulig ved bruk av høyst én gjennomsnittsoperasjon.

Den akseptable absolutte feilen er $10^{-9}$. Du kan skrive ut opptil $20$ sifre etter desimaltegnet.

Eksempler

Inndata 1

8 10 4
3 9 5 1 1 1 1 10

Utdata 1

0.0000000000
0.2857142857
0.0000000000
0.3333333333
0.0000000000
0.5925925926
0.4000000000
0.2000000000
0.0000000000
0.0000000000

Inndata 2

1 3 1
2

Utdata 2

-1
0.0000000000
-1

Forklaring

I den første testen kan vi ta gjennomsnittet av ett intervall med lengde $k = 4$. De nøyaktige resultatene er $0, \frac{2}{7}, 0, \frac{1}{3}, 0, \frac{16}{27}, \frac{2}{5}, \frac{1}{5}, 0, 0$.

Tallet $x = 6$ kan oppnås tidligst ved tiden $t = \frac{16}{27} \approx 0.5926$, ved å ta gjennomsnittet av de fire siste tallene $(1, 1, 1, 10)$ til gjennomsnittet $\frac{13}{4} = 3\frac{1}{4}$. Det siste elementet er da lik $3\frac{1}{4} \cdot \frac{16}{27} + 10 \cdot \frac{11}{27} = 6$.

Tallet $x = 7$ kan oppnås tidligst ved tiden $t = \frac{2}{5}$, ved å ta gjennomsnittet av intervallet $(9, 5, 1, 1)$ til gjennomsnittet $4$. Det første av disse elementene er da lik $4 \cdot \frac{2}{5} + 9 \cdot \frac{3}{5} = 7$.

I den andre testen endrer ikke gjennomsnittet av et enkelt element verdien dets. Resultatet for $x = 2$ er $t = 0$, mens tallene $1$ og $3$ ikke kan nås.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.