Pagini recente » Cod sursa (job #65745) | Cod sursa (job #176869) | Cod sursa (job #863706) | Istoria paginii runda/luca_oji2 | Cod sursa (job #1776447)
#include <cstdio>
#include <vector>
using namespace std;
vector <int> v[9920],v1[9920];
int i,j,k,z,x,x1,l,n,a[1028];
long long nr;
int main()
{
freopen ("oite.in","r",stdin);
freopen ("oite.out","w",stdout);
scanf ("%d %d", &n, &l);
a[0]=-1;
for (i=1;i<=n;i++)
scanf ("%d", &a[i]);
for (i=(n-2);i>=2;i--)
{
for (j=(i+2);j<=n;j++)
{
x=a[i+1]+a[j];
x1=x%9917;
z=v[x1].size();
for (k=0;k<z;k++)
{
if (v[x1][k]==x)
{
v1[x1][k]++;
break;
}
}
if (k==z)
{
v[x1].push_back(x1);
v1[x1].push_back(1);
}
}
for (j=1;j<i;j++)
{
x=l-a[i]-a[j];
if (x>=0)
{
x1=x%9917;
z=v[x1].size();
for (k=0;k<z;k++)
{
if (v[x1][k]==x)
{
nr=0LL+nr+v1[x1][k];
break;
}
}
}
}
}
printf ("%lld", nr);
return 0;
}