Pagini recente » Cod sursa (job #2144103) | Cod sursa (job #121308) | Cod sursa (job #2984183) | Cod sursa (job #1991978) | Cod sursa (job #2977307)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
map<int, int> mp;
int main()
{
int n, target;
fin >> n >> target;
vector<int> vec(n + 1);
for (int i = 1; i <= n; i++)
fin >> vec[i];
sort(vec.begin() + 1, vec.begin() + n + 1);
int count = 0;
for (int i = 1; i < n; i++)
{
for (int j = i + 1; j <= n && target - vec[i] - vec[j] >= 0; j++)
{
int x = target - vec[i] - vec[j];
if (mp.find(x) != mp.end())
count += mp[x];
}
for (int j = 1; j < i; j++)
mp[vec[i] + vec[j]]++;
}
fout << count;
return 0;
}