Pagini recente » Cod sursa (job #1262693) | Cod sursa (job #1065639) | Cod sursa (job #253467) | Cod sursa (job #1958020) | Cod sursa (job #1776455)
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
int n,s,i,v[1030],sol,j,k;
vector<int>hs[MOD+10];
vector <int>:: iterator it;
int main()
{
freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
scanf("%d%d",&n,&s);
for(i=1; i<=n; ++i)
scanf("%d",&v[i]);
for(i=1; i<=n; ++i)
{
for(j=i+1; j<=n; ++j)
if(s-v[i]-v[j]>=0)
if(hs[(s-v[i]-v[j])%MOD].size()!=0)
/// for(k=0; k<hs[(s-v[i]-v[j])%MOD].size(); ++k)
/// if(hs[(s-v[i]-v[j])%MOD][k]==s-v[i]-v[j])++sol;
for(it=hs[(s-v[i]-v[j])%MOD].begin();it<hs[(s-v[i]-v[j])%MOD].end();++it)
if(*it==s-v[i]-v[j])++sol;
for(j=1; j<i; ++j)
hs[(v[i]+v[j])%MOD].push_back(v[i]+v[j]);
}
printf("%d\n",sol);
return 0;
}