4265 - perechiAB

De la Universitas MediaWiki
Versiunea din 21 martie 2023 20:49, autor: Flaviu (discuție | contribuții) (Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/4265/perechiab 4265 - perechiAb] ---- == Cerinţa == Se dă un șir v1, v2, …, vn de numere naturale nenule și de asemenea se dau două numere naturale nenule A și B. Să se determine numărul perechilor (vi , vj) cu i < j și A ≤ vi + vj ≤ B. == Date de intrare == Programul citește de la tastatură numărul n, apoi șirul de n numere naturale, separate prin spații, iar la final se citesc numerele naturale nenule A și B. == Da...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)

Sursa: 4265 - perechiAb


Cerinţa

Se dă un șir v1, v2, …, vn de numere naturale nenule și de asemenea se dau două numere naturale nenule A și B. Să se determine numărul perechilor (vi , vj) cu i < j și A ≤ vi + vj ≤ B.

Date de intrare

Programul citește de la tastatură numărul n, apoi șirul de n numere naturale, separate prin spații, iar la final se citesc numerele naturale nenule A și B.

Date de ieșire

Programul va afișa pe ecran numărul de perechi care îndeplinesc condițiile cerute.

Restricţii şi precizări

  • 3 ≤ n ≤ 160.000
  • 1 ≤ A ≤ B ≤ 2.000.000.000
  • 1 ≤ vi ≤ 1.000.000.000

Exemplu

Intrare
5
1 2 3 4 5
7 10
Ieșire
4

Rezolvare

Rezolvare ver. 1

# 4265 - perechiAB

n = int(input())
v = list(map(int, input().split()))
A, B = map(int, input().split())

count = 0
for i in range(n-1):
    for j in range(i+1, n):
        if A <= v[i] + v[j] <= B:
            count += 1

print(count)