Kortlek | 프로그래밍의 벗 PivotOJ
PivotOJ

Kortlek

시간 제한: 1000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2022 — finalBOJ 26878

문제

Nicole och Simon spelar ett kortspel som består av NN rundor. I runda ii lägger Nicole ut ett kort som har ett tal aia_i skrivet på sig. Simon måste då svara med att lägga ut ett kort från sin hand. Om Simons kort har värde bib_i så får Nicole aibi|a_i-b_i| poäng. Simon vill alltså lägga ett kort som är så nära det Nicole lade som möjligt.

Givet exakt vilka kort Nicole kommer lägga ut och vilka MM kort Simon har på sin hand från början, vad är den minsta poängen Nicole kan få om Simon spelar optimalt? MM är alltid lika med NN eller N+1N+1.

입력

Den första raden innehåller de två heltalen NN (1N21051\leq N \leq 2 \cdot 10^5) och MM (NMN+1N\leq M \leq N+1).

Den andra raden innehåller NN heltal, där det ii:te talet aia_i (0ai1090\le a_i \le 10^9) är värdet på kortet Nicole lägger ut i runda ii.

Den tredje raden innehåller MM heltal, där det ii:te talet bib_i (0bi1090\le b_i \le 10^9) är värdet av det i:i:te kortet Simon har på sin hand.

출력

Skriv ut ett heltal -- den minsta totala poängen Nicole får om Simon spelar optimalt.

힌트

I exempelfall 1 är det optimalt för Simon att i första rundan lägga ut kortet med värde 1, och i andra rundan lägga ut kortet med värde 2. Då får Nicole 11+102=8|1-1| + |10-2|=8 poäng.

I exempelfall 2 spelar Simon ut korten av värde 2, 5, 1, i den ordningen.

I exempelfall 3 spelar Simon ut korten av värde 4, 6, 3, 1, i den ordningen.

예제

예제 1

입력
2 3
1 10
2 0 1
출력
8

예제 2

입력
3 3
4 8 1
5 1 2
출력
5

예제 3

입력
4 5
6 10 6 2
1 4 0 6 3
출력
10

예제 4

입력
5 5
0 0 0 0 0
1000000000 1000000000 1000000000 1000000000 1000000000
출력
5000000000
코드를 제출하려면 로그인하세요.