Pagini recente » Cod sursa (job #345287) | Cod sursa (job #1643173) | Cod sursa (job #565220) | Cod sursa (job #1196298) | Cod sursa (job #768794)
Cod sursa(job #768794)
#include <stdio.h>
#include <vector>
#include <algorithm>
#define MAXOI 1025
#define MAXH 10007
using namespace std;
int main() {
int C, L;
int oi[MAXOI];
int result = 0;
vector<int> hash[MAXH];
FILE *f = fopen("oite.in", "r");
FILE *g = fopen("oite.out", "w");
fscanf(f, "%d%d", &C, &L);
for (int i = 0; i < C; i++) {
fscanf(f, "%d", &oi[i]);
}
for (int i = 0; i < C; i++) {
for (int j = i + 1; j < C; j++) {
int sum = oi[i] + oi[j];
if (L - sum > 0) {
int poz = (L - sum) % MAXH;
for (int i = 0; i < (int) hash[poz].size(); i++) {
if (hash[poz][i] == L - sum) {
result ++;
}
}
}
}
for (int j = 0; j < i; j++) {
hash[(oi[i] + oi[j]) % MAXH].push_back(oi[i] + oi[j]);
}
}
fprintf(g, "%d", result);
fclose(f);
fclose(g);
}