Pagini recente » Cod sursa (job #788839) | Cod sursa (job #557874) | Cod sursa (job #2676166) | Cod sursa (job #1996394) | Cod sursa (job #2638802)
#include <bits/stdc++.h>
using namespace std;
ifstream in("oite.in");
ofstream out("oite.out");
typedef long long ll;
unordered_map<int,int> m;
int v[1030],n,l,s;
ll ans;
int main()
{
in>>n>>l;
for(int i=1;i<=n;++i)
{
in>>v[i];
for(int j=1;j<i;++j)
{
s=v[i]+v[j];
if(m.find(l-s)!=m.end())
ans+=1LL*m[l-s];
m[s]++;
if(3*v[i]+v[j]==l)
ans++;
if(3*v[j]+v[i]==l)
ans++;
}
}
for(int i=1;i<=n;++i)
{
s=l-2*v[i];
if(m.find(s)!=m.end())
ans-=1LL*m[s];
}
out<<ans/3<<'\n';
return 0;
}