Pagini recente » Cod sursa (job #2311810) | Cod sursa (job #2300605) | Cod sursa (job #1982475) | Cod sursa (job #2568016) | Cod sursa (job #999520)
Cod sursa(job #999520)
#include<fstream>
#include<vector>
#define mod 66013
using namespace std;
ifstream in("oite.in");
ofstream out("oite.out");
int n,s,x[1100],sol;
vector<int> v[mod];
int find_value(int x)
{
int a=0;
int d = x % mod;
vector <int> :: iterator it;
if (x<0)
return 0;
for (it = v[d].begin(); it != v[d].end(); it ++)
if (*it == x)
a++;
return a;
}
inline void insert_value(int x)
{
int list = x % mod;
v[list].push_back(x);
}
int main ()
{
int i,j,ret;
in>>n>>s;
for(i=1;i<=n;i++)
in>>x[i];
for (i=1;i<=n;i++){
for(j=i+1;j<=n;j++)
{
ret = s-x[i]-x[j];
sol=sol+find_value(ret);
}
for (j = 1; j < i; j ++)
insert_value(x[i] + x[j]);
}
out<<sol<<'\n';
in.close();
out.close();
return 0;
}