Pagini recente » Cod sursa (job #2732424) | Cod sursa (job #2101113) | Cod sursa (job #289835) | Cod sursa (job #2341172) | Cod sursa (job #935605)
Cod sursa(job #935605)
#include <stdio.h>
#include <vector>
#include <algorithm>
#define MOD 383121
#define baga(k) h[(k)%MOD].push_back(k);
using namespace std;
int n, sol;
unsigned s, a[1200];
vector <unsigned> h[MOD];
int count(unsigned k)
{
int rez=0;
unsigned key=k%MOD;
for (unsigned i=0; i<h[key].size(); i++)
if (h[key][i]==k) rez++;
return rez;
}
int main()
{
freopen("oite.in", "r", stdin);
freopen("oite.out", "w", stdout);
scanf("%d %u", &n, &s);
int i,j,k;
for (i=0; i<n; i++)
scanf("%u", a+i);
sort(a, a+n);
for (int k=2; k<n-1; k++){
for (i=0; i<k-1; i++)
baga(a[k-1]+a[i]);
for (i=k+1; i<n; i++)
sol+=count(s-a[k]-a[i]);
}
printf("%d\n", sol);
return 0;
}