Pagini recente » Cod sursa (job #291609) | Cod sursa (job #406574) | Cod sursa (job #1563131) | Cod sursa (job #2561151) | Cod sursa (job #2570632)
#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] and l%2==0)
rasp-=f[l/2-v[i]];
}
cout<<rasp;
return 0;
}