Pagini recente » Cod sursa (job #2099334) | Cod sursa (job #2068933) | Cod sursa (job #2842974) | Cod sursa (job #1346568) | Cod sursa (job #1152232)
#include <cstdio>
#include <vector>
#define mod 666013
using namespace std;
vector <int> x[666013];
vector <int> z[666013];
vector <int> y[666013];
vector <int> :: iterator it;
vector <int> :: iterator it1;
vector <int> :: iterator it2;
int main()
{
freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
int n,c,k,i,j,a,b,q,sol=0;
scanf("%d%d",&n,&c);
int v[n];
for(i=0;i<n;i++) scanf("%d",&v[i]);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
k=v[i]+v[j];
if(x[(c-k)%mod].size()!=0)
{ q=0;
for(it=x[(c-k)%mod].begin(),it1=z[(c-k)%mod].begin(),it2=y[(c-k)%mod].begin();it!=x[(c-k)%mod].end();it++,it1++,it2++)
{
if(*it==c-k&&*it1!=i&&*it2!=j)
{
q++;
}
}
sol+=q;
x[k%mod].push_back(k);
z[k%mod].push_back(i);
y[k%mod].push_back(j);
}
else {
x[k%mod].push_back(k);
z[k%mod].push_back(i);
y[k%mod].push_back(j);
}
}
}
printf("%d",sol);
}