Pagini recente » Cod sursa (job #524906) | Cod sursa (job #912415) | Cod sursa (job #2116807) | Cod sursa (job #2338207) | Cod sursa (job #1497650)
#include <cstdio>
#include <vector>
#define MOD 6007
#define NMAX 2037
#define LL long long
using namespace std;
int n, sum, v[NMAX], tmp, sze, tmp2;
LL ans;
vector <int> dsp[MOD];
int main()
{
freopen("oite.in", "r", stdin);
freopen("oite.out", "w", stdout);
scanf("%d %d", &n, &sum);
for(int i = 1; i<= n; ++i) scanf("%d", &v[i]);
for(int i = 1; i< n; ++i)
{
for(int j = i+1; j<= n; ++j)
{
tmp = sum - v[i] - v[j];
if(tmp > 0)
{
tmp2 = tmp%MOD;
sze = dsp[tmp2].size();
for(int k = 0; k< sze; ++k)
{
if(dsp[tmp2][k] == tmp) ans++;
}
}
}
for(int j = 1; j< i; ++j) dsp[(v[i]+v[j]) % MOD].push_back(v[i]+v[j]);
}
printf("%lld\n", ans);
return 0;
}