Pagini recente » Cod sursa (job #1476924) | Cod sursa (job #827653) | Cod sursa (job #1030288) | Cod sursa (job #2918545) | Cod sursa (job #1772006)
#include <bits/stdc++.h>
#define MOD 7919
#define NMAX 1024
using namespace std;
vector <int> Hash[MOD + 5];
long long vect,v[NMAX+5],Sol,n,lung,x;
inline void checkhash(int nr)
{
nr = nr%MOD;
for (auto it = Hash[nr].begin(); it != Hash[nr].end(); ++it)
if (*it==nr)++Sol;
return ;
}
int main()
{
freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
scanf("%lld %lld", &n,&lung);
for (int i = 1; i<=n; ++i)
{
scanf("%lld", &x);
if (x<=lung)
v[++vect] = x%MOD;
}
sort(v+1,v+vect+1);
for (int i = 1; i<=vect; ++i)
{
for (int j = i+1; j<=vect; ++j)
{
int ramas = lung - v[i]-v[j];
if (ramas<=0)continue;
checkhash(ramas);
}
for (int j = 1; j<i; ++j)
Hash[(v[i]+v[j])%MOD].push_back((v[i]+v[j])%MOD);
}
printf("%lld", Sol);
return 0;
}