Pagini recente » preONI 2008 - Clasament | Profil DEYDEY2 | Statistici Stoean Vlad (AzaZet) | Cod sursa (job #2018121) | Cod sursa (job #631776)
Cod sursa(job #631776)
#include <cstdio>
#include <vector>
#define MOD 100000
using namespace std;
typedef struct sheep {
long wool;
short index1, index2;
} Sheep;
vector<Sheep> H[MOD];
long A[1024];
int main(void) {
freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
long L;
short n;
scanf("%ld%ld", &n, &L);
for(int i = 0; i < n; i++) {
scanf("%ld", &A[i]);
}
Sheep s;
short index;
for(short i = 0; i < n; i++) {
for(short j = i + 1; j < n; j++) {
index = (A[i] + A[j]) % MOD;
s.wool = A[i] + A[j];
s.index1 = i;
s.index2 = j;
H[index].push_back(s);
}
}
return 0;
int sol = 0;
for(short i = 0; i < n; i++)
for(short j = i + 1; j < n; j++) {
index = (L - A[i] - A[j]) % MOD;
for(unsigned int k = 0; k < H[index].size(); k++) {
if (H[index][k].wool == L - A[i] - A[j] &&
H[index][k].index2 < i)
sol++;
}
}
printf("%d\n", sol);
return 0;
}