Pagini recente » Cod sursa (job #1757693) | Cod sursa (job #1190353) | Cod sursa (job #2035211) | Cod sursa (job #2548091) | Cod sursa (job #1772680)
# include <bits/stdc++.h>
# define MOD 7919
using namespace std;
const int Nmax = 1024 + 5;
int n, l, v[Nmax], i, j, X, N;
long long ans = 0LL;
vector <int> H[MOD + 5];
void check(int x) {
x %= MOD;
vector <int>:: iterator it;
for (it = H[x].begin(); it != H[x].end(); ++it)
if (x == *it) ++ans;
return;
}
int main ()
{
freopen("oite.in", "r", stdin);
freopen("oite.out", "w", stdout);
scanf("%d %d\n", &n, &l);
for (i = 1; i <= n; ++i)
{
scanf("%d ", &X);
if (X <= l) v[++N] = X % MOD;
}
n = N;
for (i = 1; i <= n; ++i)
{
for (j = i + 1; j <= n; ++j)
if (l - v[i] - v[j] >= 0) check(l - v[i] - v[j]);
for (j = 1; j < i; ++j)
if (i != j)
{
int x = (v[i] + v[j]) % MOD;
H[x].push_back(v[i] + v[j]);
}
}
printf("%lld\n", ans);
return 0;
}