Pagini recente » Cod sursa (job #2615312) | Cod sursa (job #2230283) | Cod sursa (job #369084) | Cod sursa (job #933350) | Cod sursa (job #474864)
Cod sursa(job #474864)
#include <fstream>
#include <algorithm>
#include <tr1/unordered_map>
using namespace std;
using namespace tr1;
const int MAX_N = 1025;
ifstream fin ("oite.in");
ofstream fout ("oite.out");
unordered_map <int, short> H;
int Sol, N, L, V[MAX_N];
void citire() {
fin >> N >> L;
for(int i = 1; i <= N; ++i) {
fin >> V[i];
}
sort(V+1, V+N+1);
}
int main() {
citire();
for(int i = 2; i <= N; ++i) {
for(int j = i+1; j <= N; ++j) {
if(V[i] + V[j] > L) break;
++H[V[i] + V[j]];
}
}
for(int i = 2; i <= N; ++i) {
for(int j = i+1; j <= N; ++j) {
if(V[i] + V[j] > L) break;
--H[V[i] + V[j]];
}
for(int j = 1; j < i; ++j) {
if(V[i] + V[j] > L) break;
Sol += H[L - V[i] - V[j]];
}
}
fout << Sol;
}