Pagini recente » Cod sursa (job #301344) | Cod sursa (job #1096071) | Cod sursa (job #833986) | Cod sursa (job #319382) | Cod sursa (job #496565)
Cod sursa(job #496565)
# include <fstream>
# include <iostream>
# include <vector>
# include <algorithm>
# define DIM 1099
# define H 999999
using namespace std;
struct nod{
short int a, b;
nod(){}
nod(short int A, short int B){
a=A;b=B;}
};
int n, S, v[DIM];
long long sol;
vector<nod> h[H+666];
void read ()
{
ifstream fin ("oite.in");
fin>>n>>S;
for(int i=1;i<=n;++i)
fin>>v[i];
}
void solve ()
{
int nr;
for (int i=1;i<n;++i)
for(int j=i+1;j<=n;++j)
{
nr=v[i]+v[j];
h[nr%H].push_back(nod(i,j));
}
for (int i=1;i<n;++i)
for(int j=i+1;j<=n;++j)
{
nr=S-v[i]-v[j];
if (nr>=0 && h[nr%H].size())
for(vector<nod>::iterator I=h[nr%H].begin();I<h[nr%H].end();++I)
if (I->a>j && v[I->a]+v[I->b]==nr)
++sol;
}
}
int main ()
{
read ();
solve ();
ofstream fout ("oite.out");
fout<<sol;
return 0;
}