Pagini recente » Stelele Informaticii 2009, clasele 9-10 | Cod sursa (job #950843) | Cod sursa (job #543346) | Cod sursa (job #2976987) | Cod sursa (job #1531569)
#include<cstdio>
#include<vector>
using namespace std;
int MOD,v[1025],n,l,s,si;
long long posib;
vector<int>sum[15228];
int main(){
freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
scanf("%d%d",&n,&l);
MOD=15227;
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
posib=0;
for(int i=1;i<=n-1;i++){
for(int j=i+1;j<=n;j++){
si=l-v[i]-v[j];
s=si%MOD;
if(s>=0)
for(int q=0;q<sum[s].size();q++)
if(sum[s][q]==si)
posib++;
}
for(int j=1;j<i;j++){//perechea v[i], v[j]
s=(v[i]+v[j])%MOD;
sum[s].push_back(v[i]+v[j]);
}
}
printf("%lld",posib);
return 0;
}