Pagini recente » Cod sursa (job #912077) | Cod sursa (job #293370) | Cod sursa (job #2561164) | Cod sursa (job #1602617) | Cod sursa (job #1783884)
#include <bits/stdc++.h>
#define Xp (1<<12)
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
int C,L,i,j,sol,v[1<<11];
vector <int> H[Xp];
int main()
{
f>>C>>L;
for(i=1;i<=C;++i) f>>v[i];
for(i=1;i<C;++i)
{
for(j=i+1;j<=C;++j)
if(L-v[i]-v[j]>0)
{
int line=(L-v[i]-v[j])&(Xp-1);
for(int k=0;k<H[line].size();++k)
sol+=(H[line][k]==L-v[i]-v[j]);
}
for(j=1;j<i;++j)
H[(v[i]+v[j])&(Xp-1)].push_back(v[i]+v[j]);
}
g<<sol;
return 0;
}