Pagini recente » Cod sursa (job #1641230) | Cod sursa (job #2112907) | Cod sursa (job #1863453) | Cod sursa (job #934802) | Cod sursa (job #1525282)
#include <cstdio>
#define MAXC 1024
#define MOD 6663
int v[MAXC+1],ind[MOD],next[MAXC*MAXC],sum[MAXC*MAXC];
int main(){
FILE*fi,*fout;
int i,j,n,c,l,poz,x,s;
long long con;
fi=fopen("oite.in" ,"r");
fout=fopen("oite.out" ,"w");
fscanf(fi,"%d%d" ,&c,&l);
for(i=1;i<=c;i++)
fscanf(fi,"%d" ,&v[i]);
con=0;
n=1;
for(i=1;i<=c-1;i++){
for(j=i+1;j<=c;j++){
s=l-v[i]-v[j];
if(s>0){
x=s%MOD;
poz=ind[x];
while(poz){
if(sum[poz]==s)
con++;
poz=next[poz];
}
}
}
for(j=1;j<i;j++){
sum[n]=v[j]+v[i];
x=sum[n]%MOD;
next[n]=ind[x];
ind[x]=n;
n++;
}
}
fprintf(fout,"%lld" ,con);
fclose(fi);
fclose(fout);
return 0;
}