Pagini recente » Cod sursa (job #1836792) | Cod sursa (job #1394993) | Cod sursa (job #1704374) | Cod sursa (job #381596) | Cod sursa (job #955274)
Cod sursa(job #955274)
#include<stdio.h>
#include<vector>
#define MOD 666013
using namespace std;
vector<int> Hash[MOD];
int n , SUM , sum , a[1007] , num;
int main()
{
freopen("oite.in" , "r" , stdin);
freopen("oite.out" , "w" , stdout);
scanf("%d %d" , &n , &SUM);
for(int i = 1 ; i <= n ; ++ i)
scanf("%d" , &a[i]);
for(int i = 1 ; i <= n ; ++ i)
{
for(int j = i + 1 ; j <= n ; ++ j)
{
sum = a[i] + a[j];
if(sum >= SUM)
continue ;
for(int k = 0 ; k < Hash[(SUM - sum) % MOD].size() ; ++ k)
if(Hash[(SUM - sum) % MOD][k] == SUM - sum)
++ num;
}
for(int j = 1 ; j < i ; ++ j)
{
sum = a[i] + a[j];
Hash[sum % MOD].push_back(sum);
}
}
printf("%d" , num);
return 0;
}