Pagini recente » Istoria paginii runda/pre105 | Cod sursa (job #2428526) | Cod sursa (job #1438397) | Cod sursa (job #275445) | Cod sursa (job #2233255)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
const int MOD=666013;
vector<int>H[MOD+1];
int n, l, sol;
int x[1026];
inline void Find(int x)
{
int poz=x%MOD;
vector<int>::iterator it;
for(it=H[poz].begin(); it!=H[poz].end(); ++it)
if(*it==x) ++sol;
}
inline void Insert(int x)
{
int poz=x%MOD;
H[poz].push_back(x);
}
int main()
{
fin>>n>>l;
for(int i=1; i<=n; ++i) fin>>x[i];
sort(x+1, x+n+1);
for(int i=1; i<=n; ++i)
{
for(int j=i+1; j<=n; ++j) Find(l-x[i]-x[j]);
for(int j=1; j<i; ++j) Insert(x[i]+x[j]);
}
fout<<sol<<"\n";
return 0;
}