Pagini recente » Cod sursa (job #2290134) | Cod sursa (job #2934582) | Cod sursa (job #2134284) | Cod sursa (job #1501790) | Cod sursa (job #2217174)
#pragma GCC optimize("03")
#include <bits/stdc++.h>
using namespace std;
int n, l, a[1050];
long long ans;
unordered_map <int, int> M; //perechi de cate 2
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
ifstream cin ("oite.in");
ofstream cout ("oite.out");
cin >> n >> l;
M.reserve(n * (n-1)/2 + 10);
sort(a+1, a+1+n);
for (int i=1; i<=n; i++) cin >> a[i];
for (int i=3; i<n; i++){
for (int j=1; j < i-1; j++) M[a[i-1]+a[j]]++;
for (int j=i+1; j<=n; j++)
if (l - a[i] - a[j] >= 0) ans += M[l - a[i] - a[j]];
}
cout << ans;
return 0;
}