Pagini recente » Cod sursa (job #2235365) | Cod sursa (job #2523255) | Cod sursa (job #388178) | Cod sursa (job #1306818) | Cod sursa (job #2798742)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
unordered_map<int, int> M;
int a[1026];
int main()
{
int n, s, i, j, x, cnt = 0;
fin >> n >> s;
for (i = 1; i <= n; i++)
fin >> a[i];
sort(a + 1, a + n + 1);
for (i = 1; i < n; i++)
{
for (j = i + 1; j <= n && s - a[i] - a[j] >= 0; j++)
{
x = s - a[i] - a[j];
if (M.count(x) > 0)
cnt += M[x];
}
for (j = 1; j < i; j++)
M[a[i] + a[j]]++;
}
fout << cnt << "\n";
return 0;
}