Cod sursa(job #631776)

Utilizator mihai0110Bivol Mihai mihai0110 Data 9 noiembrie 2011 19:04:37
Problema Oite Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#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;
}