euleroj.io/problemset/problem/4085
๋ฌธ์
์ ๋ช
ํ ๋งํผ์ ๋๋ชฉ์ธ ์ค์ผ๋ฌ๊ฐ ๋ด์์ผ๋ก ์ด์ฌ๋ฅผ ๊ฐ๋ค. ๋ด์์๋ ๊ทธ์ ๊ฐ์กฑ๋ค์ด ๋ง์ด ์ด๊ณ ์๋๋ฐ ๊ทธ๋ค์ ๋ชจ๋ ๋ผ๋งํผ์ ๊ฑฐ๋ฆฌ(Lamafia Avenue)์ ์ด๊ณ ์๋ค. ๊ทธ๋ ๊ทธ ์น์ฒ๋ค์ ์์ฃผ ๋ง๋๋ฌ ๊ฐ ๊ณํ์ด๊ธฐ ๋๋ฌธ์ ์น์ฒ๋ค๊ณผ ๊ฐ๊น์ด ๊ณณ์ ์ง์ ๊ตฌํ๊ธฐ๋ก ํ๋ค.
์ค์ผ๋ฌ๋ ๋ชจ๋ ์น์ฒ ์ง๊ณผ์ ๊ฑฐ๋ฆฌ ์ดํฉ์ด ๊ฐ์ฅ ์์ ๊ณณ์ ์ง์ ๊ตฌํ๊ณ ์ถ์ดํ๋๋ฐ, ํํ์ด๋ฉด ๋น์ ์๊ฒ ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ด๋ผ๋ ํ๋ฐ ํธ์ง๋ฅผ ๋ณด๋ด์๋ค.
์
๋ ฅํ์
์ฒซ์งธ ์ค์ ์น์ฒ ์ง์ ์๋ฅผ ๋ํ๋ด๋ ์ ์ N(1≤N≤20,000)์ด ์ฃผ์ด์ง๊ณ ๋์งธ ์ค์๋ ์น์ฒ ์ง์ ๋ฒ์ง์๋ฅผ ๋ํ๋ด๋ ์ ์ S1, S2, … , Si, … , SR (1≤R≤30,000)์ด ์ฃผ์ด์ง๋ค. ์น์ฒ ์ค์๋ ๊ฐ์ ๋ฒ์ง์ ์ด๊ณ ์๋ ์ฌ๋๋ค๋ ์๋ค๋ ์ ์ ์ฃผ์ํ์.
์ถ๋ ฅํ์
์ฒซ์งธ ์ค์ ์ค์ผ๋ฌ๊ฐ ์ํ๋ ์์น์ ์ง์ ๊ตฌํ์ ๊ฒฝ์ฐ์ ๊ทธ ์ง์ผ๋ก๋ถํฐ ๊ฐ ์น์ฒ ์ง๊น์ง์ ๊ฑฐ๋ฆฌ์ ์ดํฉ์ ์ถ๋ ฅํด์ผ ํ๋ค. ๋ฒ์ง์๊ฐ Si์ Sj์ธ ๋ ์ง ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ dij = |Si - Sj|๋ก ๊ตฌํ๋ค.
์ฐธ๊ณ
๋ ๋ฒ์งธ ํ
์คํธ ์ผ์ด์ค์์ ๋ง์ผ ์ค์ผ๋ฌ์ ์ง์ ๋ ๋ฒ์งธ ์น์ฒ ์ง์ธ 4์ ๊ฐ์ ์์น๋ก ์ ํ๋ค๋ฉด ์ฒซ ๋ฒ์งธ ์น์ฒ ์ง๊น์ง์ ๊ฑฐ๋ฆฌ๋ |4 - 2| = 2๊ฐ ๋๊ณ ๋ ๋ฒ์งธ ์น์ฒ ์ง๊น์ง์ ๊ฑฐ๋ฆฌ๋ |4 - 4| = 0์ด ๋๊ณ ์ธ ๋ฒ์งธ ์น์ฒ ์ง๊น์ง์ ๊ฑฐ๋ฆฌ๋ |4 - 6| = 2๊ฐ ๋์ด ์น์ฒ ์ง๊น์ง์ ๊ฑฐ๋ฆฌ์ ์ดํฉ์ 4๊ฐ ๋๋ค.
ํ์ด
1์ฐจ์๋ : ์์๋ผ _ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ผํ๋๋ฐ ๋ฒ์ง์๋ฅผ ์ถ๋ ฅํ๊ณ ์์๋ค. (์ค์นด๋ฐฉ ๊ณ ์๋๋ค์ด ์๋ ค์ฃผ์ฌ ใ ใ ๊ฐ์ฌํฉ๋๋ค)
2์ฐจ์๋ : ในใ ์์๋ผ?
#include <stdio.h>
int main(){
int ans, n, d, sum; //๋ฌธ์ ์ ๋ต์ด๋๋ ์ง์ ans๋ฒ์งธ ์ง์ด๋ผ๊ณ ํ์,
scanf("%d\n",&n);
int a[n];
for(int i=0; i<n; i++){
scanf("%d ", &a[i]);
}
if(n%2 == 1){
ans = n/2 + 1 -1; //์ง ๊ฐ์๊ฐ ํ์์ผ ๋ : ์ค๊ฐ๋ฒ์งธ ์ง
}
else{
ans = n/2 -1; //์ง ๊ฐ์๊ฐ ์ง์์ผ ๋ : ์ค๊ฐ+1 or ์ค๊ฐ-1๋ฒ์งธ ์ง
}
for(int i=0; i<n; i++){
if(i<ans){
d = a[ans] - a[i];
}
else{
d = a[i] - a[ans];
}
sum = sum + d;
}
printf("%d",sum);
}
'๐ฆ Chango > ๐ ์ค์ผ๋ฌ OJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค์ผ๋ฌOJ][C์ธ์ด/C++] #2085 : Gold Coins (0) | 2021.03.14 |
---|---|
[์ค์ผ๋ฌOJ][C++/C์ธ์ด] #1018 ๊ณจ๋ํ (0) | 2021.03.09 |