Pagini recente » Cod sursa (job #2129798) | Cod sursa (job #2477189) | Cod sursa (job #2335992) | Cod sursa (job #1784893) | Cod sursa (job #1343392)
#include <fstream>
#define nmax 1005
#define mil 1000005
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
long long sol,x;
int n,s,s1,sol1;
int v[nmax];
int t[mil*2],c[mil];
int main()
{
int i,j;
f>>n>>s;
if (n<4) {
g<<0;
return 0;
}
for (i=1;i<=n;i++) {
f>>x;
if (x<=s) {
v[i]=x;
} else {
n--;
i--;
}
}
for (i=1;i<=n;i++)
c[v[i]]++;
for (i=1;i<=n;i++)
for (j=i+1;j<=n;j++)
t[v[i]+v[j]]++;
for (i=1;i<=n;i++)
for (j=i+1;j<=n;j++) {
c[v[i]]--;
c[v[j]]--;
s1=s-v[i]-v[j];
sol1=t[s1];
if (v[i]+v[j]==s1)
sol1--;
sol1-=c[s1-v[i]];
sol1-=c[s1-v[j]];
sol+=1LL*sol1;
c[v[i]]++;
c[v[j]]++;
}
g<<sol/6;
return 0;
}