[BOJ B2][C++] λ°±μ€ 1731λ²: μΆλ‘
https://www.acmicpc.net/problem/1731
1731λ²: μΆλ‘
λ±μ°¨κ° μ μμΈ λ±μ°¨μμ΄ (μ΄λ€ μμ μ°¨λ‘λλ‘ μΌμ ν μλ₯Ό λν΄μ μ΄λ£¨μ΄μ§λ μμ΄) μ 2κ°μ μ«μλ‘ λνλΌ μ μλ€. Pλ μμ΄μ 첫 λ²μ§Έ μμ΄κ³ , Qλ κ·Έ λ€μμκ° λκΈ° μν΄ λ°λ‘ μ μ μμ λν΄
www.acmicpc.net
λ¬Έμ
λ±μ°¨κ° μ μμΈ λ±μ°¨μμ΄ (μ΄λ€ μμ μ°¨λ‘λλ‘ μΌμ ν μλ₯Ό λν΄μ μ΄λ£¨μ΄μ§λ μμ΄) μ 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;
}
/*
*/