Pagini recente » Cod sursa (job #297459) | Cod sursa (job #420409) | Cod sursa (job #1016078) | Cod sursa (job #2977924) | Cod sursa (job #2653064)
#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
int l, n, ans;
vector<int> o(1025);
unordered_map<int, int> a;
int main()
{
fin >> n >> l;
for (int i = 1; i <= n; ++i)
fin >> o[i];
sort(o.begin(), o.begin() + n);
for (int i = 1; i <= n; ++i)
{
for (int j = i + 1; j <= n; ++j)
{
int s = o[i] + o[j];
if (a[l - s] > 0)
ans += a[l - s];
}
for (int j = i - 1; j >= 1; --j)
a[o[i] + o[j]]++;
}
fout << ans;
return 0;
}