Pagini recente » Cod sursa (job #2568096) | Cod sursa (job #636402) | Cod sursa (job #2190517) | Cod sursa (job #2677332) | Cod sursa (job #2570626)
#include <fstream>
#include <map>
using namespace std;
ifstream cin("oite.in");
ofstream cout("oite.out");
const int lim=1024+3;
int v[lim];
map<int,int> m,f;
int main()
{
int n,l,rasp=0;
cin>>n>>l;
for(int i=1;i<=n;++i)
cin>>v[i],f[v[i]]++;
for(int i=1;i<=n-1;++i)
for(int j=i+1;j<=n;++j)
if(v[i]+v[j]<=l){
m[v[i]+v[j]]++;
if(2*(v[i]+v[j])!=l)
rasp+=m[l-v[i]-v[j]];
}
if(l%2==0) rasp+=(m[l/2]*(m[l/2]-1))/2;
for(int i=1;i<=n;++i){
rasp-=m[l-2*v[i]];
if(l/2>=v[i])
rasp-=f[l/2-v[i]];
}
cout<<rasp;
return 0;
}