Pagini recente » Cod sursa (job #1579331) | Cod sursa (job #2687895) | Cod sursa (job #2918914) | Cod sursa (job #2277527) | Cod sursa (job #631264)
Cod sursa(job #631264)
#include <cstdio>
#include <vector>
#define MOD 666013
using namespace std;
typedef struct sheep {
long wool, index;
} Sheep;
vector<Sheep> H[MOD];
long A[1024];
int main(void) {
freopen("oite.in","r",stdin);
//freopen("oute.out","w",stdout);
long L, n;
int index;
Sheep s;
scanf("%ld%ld", &n, &L);
for(int i = 0; i < n; i++) {
scanf("%ld", &A[i]);
s.wool = A[i];
s.index = i;
H[A[i] % MOD].push_back(s);
}
int sol = 0;
for(int i = 0; i < n; i++)
for(int j = i + 1; j < n; j++)
for(int k = j + 1; k < n; k++) {
index = (L - A[i] - A[j] - A[k]) % MOD;
for(int l = 0; l < H[index].size(); l++)
if (H[index][l].wool == L - A[i] - A[j] - A[k] &&
H[index][l].index > k)
sol++;
}
printf("%d\n", sol);
return 0;
}