Cerința
Se dau N
drepte paralele în sistemul de axe ortogonale xOy, acestea intersectând axa Ox în N
puncte de abscise întregi x1, x2, ... , xN
. Determinaţi numărul maxim M
de perechi de drepte dintre cele date, pentru care distanţa dintre dreptele din orice pereche este aceeaşi.
Date de intrare
Fișierul de intrare paralele.in
conține pe prima linie numărul N
de drepte, iar pe a doua linie abscisele punctelor de intersecţie ale celor N
drepte cu axa Ox.
Date de ieșire
Fișierul de ieșire paralele.out
va conține pe prima linie numărul M
.
Restricții și precizări
2 ≤ N ≤ 1.000
-1.000.000 ≤ x1,x2,...,xN ≤ 1.000.000
Exemplu
paralele.in
3 1 5 9
paralele.out
2
Explicație
Distanţa dintre prima şi a doua dreapta este egală cu distanţa dintre a doua şi a treia dreaptă, deci sunt două perechi de drepte cu aceeaşi distanţă între ele.
#include <bits/stdc++.h> using namespace std; ifstream cin("paralele.in"); ofstream cout("paralele.out"); int a[1001] , f[2000001]; int main() { int n; cin >> n; for(int i = 1 ; i <= n ; ++i) cin >> a[i]; int val , fmax=0; for(int i = 1 ; i <= n ; ++i) { for(int j = i + 1 ; j <= n ; ++j) { val = abs(a[i]-a[j]); f[val]++; if(f[val] > fmax) fmax = f[val]; } } cout << fmax; return 0; }