Pagini recente » Cod sursa (job #2241641) | Cod sursa (job #735951) | Cod sursa (job #2863091) | Cod sursa (job #2133584) | Cod sursa (job #542988)
Cod sursa(job #542988)
#include <stdio.h>
#include <vector>
#define modi 6829
using namespace std;
//vector <int> hy[1000007];
int c,l,i,v[1050],j,k,cont;
vector <int> h[modi+3];
vector <int> hx[modi+3];
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])%modi;
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])%modi;
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;
}