Pagini recente » Cod sursa (job #1833480) | Cod sursa (job #2311349) | Cod sursa (job #1859988) | Cod sursa (job #2599480) | Cod sursa (job #2546433)
#include <bits/stdc++.h>
#define pii pair <int, int>
#define f first
#define s second
#define mp make_pair
using namespace std;
ifstream fin ("oite.in");
ofstream fout ("oite.out");
const int key = 666013;
int n, l, i, j, ans;
vector <int> v(1030);
vector <pii> has[key + 10];
void add(int val)
{
for(auto it : has[val%key])
if(it.f == val)
{
it.s++;
return;
}
has[val%key].push_back(mp(val, 1));
}
int cati(int val)
{
for(auto it : has[val%key])
if(it.f == val) return it.s;
return 0;
}
int main()
{
fin >> n >> l;
for(i=1; i<=n; i++)
fin >> v[i];
for(i=1; i<=n; i++)
{
for(j=i+1; j<=n; j++)
ans += cati(l - v[i] - v[j]);
for(j=1; j<i; j++)
add(v[i] + v[j]);
}
fout << ans;
return 0;
}