Pagini recente » Cod sursa (job #1636286) | Cod sursa (job #603419) | Cod sursa (job #1824518) | Cod sursa (job #176300) | Cod sursa (job #1715312)
#include <bits/stdc++.h>
using namespace std;
constexpr int MAX_N = 1024;
int A[MAX_N];
int N, L;
int main()
{
freopen("oite.in", "r", stdin);
freopen("oite.out", "w", stdout);
scanf("%d%d", &N, &L);
for (int i = 1; i <= N; ++i)
scanf("%d", &A[i]);
unordered_map<int,int> HashTable;
HashTable.reserve(4096);
HashTable.max_load_factor(0.25);
long long solutions = 0;
for (int i = 1; i <= N; ++i)
{
for (int j = i + 1; j <= N; ++j)
if (L - A[i] + A[j] > 0)
solutions += HashTable[ L - A[i] - A[j] ];
for (int j = 1; j < i; ++j)
++HashTable[ A[i] + A[j] ];
}
printf("%lld\n", solutions);
return 0;
}