https://www.acmicpc.net/problem/1731
๋ฌธ์
๋ฑ์ฐจ๊ฐ ์ ์์ธ ๋ฑ์ฐจ์์ด (์ด๋ค ์์ ์ฐจ๋ก๋๋ก ์ผ์ ํ ์๋ฅผ ๋ํด์ ์ด๋ฃจ์ด์ง๋ ์์ด) ์ 2๊ฐ์ ์ซ์๋ก ๋ํ๋ผ ์ ์๋ค. P๋ ์์ด์ ์ฒซ ๋ฒ์งธ ์์ด๊ณ , Q๋ ๊ทธ ๋ค์์๊ฐ ๋๊ธฐ ์ํด ๋ฐ๋ก ์ ์ ์์ ๋ํด์ผ ํ๋ ์์ด๋ค. ์๋ฅผ ๋ค์ด P=1, Q=2 ์ด๋ฉด ๊ทธ ๋ฑ์ฐจ์์ด์ 1, 3, 5, 7, ..... ์ด ๋๋ค.
๋ฑ๋น๊ฐ ์ ์์ธ ๋ฑ๋น์์ด (์ด๋ค ์์์ ์์ํด ์ฐจ๋ก๋ก ๊ฐ์ ์๋ฅผ ๊ณฑํ์ฌ ๋ง๋ ์์ด) ์ ๋ฑ์ฐจ์์ด๊ณผ ๋น์ทํ๊ฒ 2๊ฐ์ ์ซ์๋ก ๋ํ๋ผ ์ ์๋ค. P๋ ์์ด์ ์ฒซ ๋ฒ์งธ ์์ด๊ณ , Q๋ ๊ทธ ๋ค์์๊ฐ ๋๊ธฐ ์ํด ๋ฐ๋ก ์ ์ ์์ ๊ณฑํด์ผ ํ๋ ์์ด๋ค. ์๋ฅผ ๋ค์ด P=3, Q=2์ด๋ฉด ๊ทธ ๋ฑ๋น์์ด์ 3, 6, 12, ...์ด ๋๋ค.
ํ ๋๋ ์ธ์์์ ์ํ์ ์ ์ผ ์ข์ํด์ ๋งค์ผ๊ฐ์ด ์ด ์์ด์ด ๋ฑ์ฐจ์์ด์ธ์ง ๋ฑ๋น์์ด์ธ์ง ์ ํ๋ค์์ ๋ค์ ์๋ฅผ ๊ตฌํ๋ค.
์ด๋ค ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ด์ ๊ท์น์ด ๋ฑ์ฐจ์์ด์ธ์ง, ๋ฑ๋น์์ด์ธ์ง ๊ฒฐ์ ํ ํ์, ๋ค์์ ๋ฑ์ฅํ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด์ ๊ธธ์ด N์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์์ด์ ๊ฐ ์์๊ฐ ์ฐจ๋ก๋๋ก ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์์ด์ ๋ฑ์ฐจ์์ด์ด๋ ๋ฑ๋น์์ด ์ค์ ํ๋๋ค. N์ ํญ์ 3 ์ด์ 50์ดํ์ด๋ฉฐ, ์ ๋ ฅ๋๋ ์๋ 106 ์ดํ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด์ ๋ค์ ์์๋ฅผ ์ถ๋ ฅํ๋ค. ์ด ์๋ 20์ต๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
ํ์ด
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n;
cin >> n;
vector<int> input(n);
for(int i=0; i<n; i++)
cin >> input[i];
bool isArithmetic = false;
int d = input[1] - input[0];
int r = input[1] / input[0];
if(d == input[2] - input[1])
isArithmetic = true;
if(isArithmetic)
cout << input[n-1] + d;
else
cout << input[n-1] * r;
return 0;
}
/*
*/
'๐ฆ Chango > ๐ซ First Solve at School' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ B4][C++] ๋ฐฑ์ค 15780๋ฒ: ๋ฉํฐํญ ์ถฉ๋ถํ๋? (0) | 2023.01.09 |
---|---|
[BOJ B4][C++] ๋ฐฑ์ค 5928๋ฒ: Contest Timing (0) | 2023.01.09 |
[BOJ B3][C++] ๋ฐฑ์ค 10419๋ฒ: ์ง๊ฐ (0) | 2023.01.02 |
[BOJ B4][C++] ๋ฐฑ์ค 13985๋ฒ: Equality (0) | 2022.12.30 |
[BOJ S4][C++] ๋ฐฑ์ค 14495๋ฒ: ํผ๋ณด๋์น ๋น์ค๋ฌด๋ฆฌํ ์์ด (0) | 2022.12.29 |