Cerința
Gigel a învățat la școală despre progresii aritmetice – o progresie aritmetică este un șir de numere cu proprietatea că diferența dintre oricare două valori consecutive este aceeași. Astfel, Gigel a notat pe n
cartonașe cei n
termeni consecutivi ai unei progresii aritmetice și a plecat la joacă. Maleficul Costel a ascuns exact două dintre cartonașe și le-a amestecat pe celelalte.
Determinaţi valorile scrise pe cele două cartonaşe ascunse de Costel.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n-2
numere naturale, reprezentând valorile scrise pe cartonașele care nu au fost ascunse.
Date de ieșire
Programul va afișa pe ecran două numere x y
, separate prin exact un spaţiu, reprezentând valorile scrise pe cartonașele ascunse.
Restricții și precizări
4 ≤ n ≤ 1000
- valorile scrise de Gigel pe cele
n
cartonașe sunt mai mici decât1.000.000.000
- Costel nu va lua niciodată primul sau ultimul cartonaș
x < y
Exemplu
Intrare
6 13 19 7 4
Ieșire
10 16
Explicație
Cele șase numere scrise de Gigel erau 4 7 10 13 16 19
. Dintre acestea, lipsesc 10
și 16
.
#include <bits/stdc++.h> using namespace std; int main() { long long n , a[1001]; cin >> n; n -= 2; for(int i = 0 ; i < n; ++i) cin >> a[i]; sort(a , a+n); int r = (a[n-1]-a[0])/(n+1) , p = 1; int x = a[0]; for(int i = 0 ; i < n+1 ; ++i) { x += r; if(x!=a[p]) cout << x << " "; else p++; } }