Pagini recente » Cod sursa (job #2450857) | Cod sursa (job #3172284) | Cod sursa (job #1382740) | Cod sursa (job #1313440) | Cod sursa (job #542927)
Cod sursa(job #542927)
#include <stdio.h>
#include <vector>
using namespace std;
vector <int> h[666100];
vector <int> hx[666100];
vector <int> hy[666100];
int c,l,i,v[1050],j,k,cont;
int main()
{
freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
scanf("%d%d",&c,&l);
for(i=1;i<=c;i++){
scanf("%d",&v[i]);
}
for(i=1;i<=c;i++){
for(j=i+1;j<=c;j++){
if(v[i]+v[j]<l){
int z=(v[i]+v[j])%666013;
h[z].push_back(v[i]+v[j]);
hx[z].push_back(i);
hy[z].push_back(j);
}
}
}
for(i=1;i<=c;i++){
for(j=i+1;j<=c;j++){
if(v[i]+v[j]<=l){
int zz=(l-v[i]-v[j])%666013;
int nn=h[zz].size();
for(k=0;k<nn;k++){
if(j<hx[zz][k] && h[zz][k]+v[i]+v[j]==l){
//printf("%d %d %d %d\n",i,j,hx[zz][k],hy[zz][k]);
//printf("%d %d\n",h[zz].size(),zz);
cont++;
}
}
}
}
}
printf("%d",cont);
return 0;
}