Pagini recente » Cod sursa (job #1660380) | Cod sursa (job #394937) | Cod sursa (job #457352) | Cod sursa (job #959301) | Cod sursa (job #32213)
Cod sursa(job #32213)
#include <stdio.h>
#include <map>
using namespace std;
#define MAXN 1024
typedef long long llong;
int N, L, A[MAXN];
llong res;
map<int, int> Nr;
void solve(void)
{
int i, j;
for(i = N-1; i >= 0; i--)
{
for(j = i-1; j >= 0; j--)
res += (llong)Nr[L-A[i]-A[j]];
for(j = i+1; j < N; j++)
Nr[A[i]+A[j]]++;
}
}
void read_data(void)
{
int i;
scanf("%d %d\n", &N, &L);
for(i = 0; i < N; i++)
scanf("%d ", &A[i]);
}
void write_data(void)
{
printf("%lld\n", res);
}
int main(void)
{
freopen("oite.in", "rt", stdin);
freopen("oite.out", "wt", stdout);
read_data();
solve();
write_data();
return 0;
}