https://www.acmicpc.net/problem/10539
์ฝ๋
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int B = scan.nextInt();
int[] bArr = new int[B];
int[] aArr = new int[B];
for(int i=0; i<bArr.length; i++) {
bArr[i] = scan.nextInt();
}
int sum = 0; // ์์ด A์ ํฉ
for(int i=0; i<bArr.length; i++) {
aArr[i] = bArr[i] * (i+1) - sum;
sum += aArr[i];
}
for(int i=0; i<aArr.length; i++) {
System.out.print(aArr[i] + " ");
}
scan.close();
}
}
ํ์ด
์์ด A์์ ํด๋น ํญ๊น์ง์ ํ๊ท ๊ฐ์ ๊ทธ ํญ์ผ๋ก ํ๋ ์์ด B๋ฅผ ์ด๋ค.
์์ด B๊ฐ ์ฃผ์ด์ก์๋, ์์ด A๋ฅผ ๊ตฌํ๋๊ฒ ๋ฌธ์ ์ด๋ค.
๊ฑฐ์ ์ํ๋ฌธ์ ๋ก ๊ท์น์ ์ฐพ์ผ๋ฉด ๋๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง๋๊ฒ ์์ด B์ด๋ฏ๋ก, ์์ด Bํญ์ ๊ท์น์ ์์ด A์ ํด๋น ํญ๊น์ง์ ํ๊ท ๊ฐ์ด๋ค.
Bํญ์ ์ฒซ๋ฒ์งธ ๊ฐ์ Aํญ์ ์ฒซ๋ฒ์งธ๊ฐ / 1
Bํญ์ ๋๋ฒ์งธ ๊ฐ์ (Aํญ ์ฒซ๋ฒ์งธ๊ฐ + Aํญ ๋๋ฒ์งธ๊ฐ) / 2
Bํญ์ ์ธ๋ฒ์งธ ๊ฐ์ (Aํญ ์ฒซ๋ฒ์งธ๊ฐ + Aํญ ๋๋ฒ์งธ๊ฐ + Aํญ ์ธ๋ฒ์งธ๊ฐ) / 3
...
์ด๋ฐ์์ ๊ท์น์ด๋ค.
์์ด A์ ๊ฐ ํญ์ ํฉ์ sum ๋ผ๋ ๊ฐ์ ์ ์ฅํ๋ค.
๊ทธ๋ฌ๋ฉด ๊ท์น์ ๋ค์๊ณผ ๊ฐ๋ค.
1) bArr[i] = (sum + aArr[i]) / (i+1)
2) sum = sum + aArr[i]
1) ์์์ aArr[i] ๊ฐ์ ๊ตฌํด๋ณด๋ฉด,,
aArr[i] = bArr[i] * (i+1) - sum;
์ด๋ผ๋ ์์ด ๋์จ๋ค.
aArr[i] = bArr[i] * (i+1) - sum;
๊ทธ ํ sum ๊ฐ์ ๊ตฌํด์ง aArr[i] ์์ด์ ํ์ ๋ํ๋ฉด ๋๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 12790๋ฒ: Mini Fantasy War(๊ตฌํ) (0) | 2020.05.24 |
---|---|
[๋ฐฑ์ค] 10409๋ฒ: ์๋ฒ (0) | 2020.05.20 |
[๋ฐฑ์ค] 2909๋ฒ: ์บ๋ ๊ตฌ๋งค(๊ตฌํ) (0) | 2020.05.18 |
[๋ฐฑ์ค] 8320๋ฒ: ์ง์ฌ๊ฐํ์ ๋ง๋๋ ๋ฐฉ๋ฒ (0) | 2020.05.17 |
[๋ฐฑ์ค] 2783๋ฒ: ์ผ๊ฐ ๊น๋ฐฅ(๊ตฌํ) (0) | 2020.05.16 |
๋๊ธ