Pagini recente » Cod sursa (job #1796918) | Cod sursa (job #2000268) | Cod sursa (job #309946) | Cod sursa (job #1189061) | Cod sursa (job #1772002)
#include <bits/stdc++.h>
#define MOD 666013
#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)
{
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("%d %d", &n,&lung);
for (int i = 1; i<=n; ++i)
{
scanf("%d", &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]].push_back(v[i]+v[j]);
}
printf("%d", Sol);
return 0;
}