Pagini recente » Cod sursa (job #234295) | Cod sursa (job #2278464) | Cod sursa (job #1295825) | Cod sursa (job #2279744) | Cod sursa (job #1772664)
#include <bits/stdc++.h>
#define MOD 7919
#define NMAX 1024
using namespace std;
vector <int> Hash[MOD + 5];
int vect,v[NMAX+5],Sol,n,lung,x;
inline void checkhash(int nr)
{
int x = nr%MOD;
for (auto it = Hash[x].begin(); it != Hash[x].end(); ++it)
if (*it==nr)++Sol;
return ;
}
int main()
{
freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
scanf("%d %d", &n,&lung);
for (int i = 1; i<=n; ++i)
{
scanf("%d", &x);
if (x<=lung)
v[++vect] = x;
}
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]);
}
printf("%d", Sol);
return 0;
}