Pagini recente » Cod sursa (job #1218135) | Cod sursa (job #2745534) | Cod sursa (job #1817542) | Cod sursa (job #2788224) | Cod sursa (job #1312019)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
const int NMAX=1025;
int n,L,a[NMAX];
map<int,int>M;
long long sol;
int main()
{
int i,j;
fin>>n>>L;
for (i=1;i<=n;i++) fin>>a[i];
for (i=2;i<n;i++)
for (j=i+1;j<=n;j++)
{
if (M.find(a[i]+a[j])==M.end()) M[a[i]+a[j]]=0;
M[a[i]+a[j]]++;
}
for (i=2;i<(n-1);i++)
{
for (j=i+1;j<=n;j++) M[a[j]+a[i]]--;
for (j=1;j<i;j++)
if ((a[i]+a[j])<=L && M.find(L-a[i]-a[j])!=M.end())
sol+=M[L-a[i]-a[j]];
}
fout<<sol<<"\n";
return 0;
}