Pagini recente » Cod sursa (job #1474834) | Cod sursa (job #3126436) | Cod sursa (job #512366) | Cod sursa (job #726179) | Cod sursa (job #1768927)
#include <algorithm>
#include <fstream>
#include <map>
using namespace std;
ifstream f ("oite.in");
ofstream g ("oite.out");
int v[1500];
int n , l;
long long ans;
map <int , int> mp;
int main() {
f >> n >> l;
for (int i = 1; i <= n; ++i) {
f >> v[i];
}
sort (v + 1 , v + n + 1);
for (int i = 1; i < n; ++i) {
for (int j = i + 1; j <= n; ++j) {
if (v[i] + v[j] <= l)
ans += (long long)mp[l - v[i] - v[j]];
}
for (int j = 1; j < i; ++j) {
++mp[v[i] + v[j]];
}
}
g << (long long)ans;
return 0;
}