Pagini recente » Cod sursa (job #2020687) | Cod sursa (job #373936) | Cod sursa (job #694236) | Cod sursa (job #1208645) | Cod sursa (job #2795158)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("oite.in");
ofstream fout ("oite.out");
int n , S;
int a[1100];
unordered_map <int ,int> fr;
/**
10 38
13 1 12 10 8 10 1 12 9 1
1 1 1 8 9 10 10 12 12 13
*/
int main()
{
fin >> n >> S;
for (int i = 1; i <= n; i++)
fin >> a[i];
sort (a + 1, a + n + 1);
int cnt = 0;
for (int i = 1; i < n; i++)
{
for (int j = i + 1; j <= n; j++)
{
if (fr.find (S - a[i] - a[j]) != fr.end ())
cnt += fr[S - a[i] - a[j]];
}
for (int j = i - 1; j > 0; j--)
fr[a[i] + a[j]]++;
}
fout << cnt << "\n";
return 0;
}