Pagini recente » Cod sursa (job #3241867) | Cod sursa (job #3283828)
#include <bits/stdc++.h>
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
int n,s,nr;
int v[1025];
bool cautbin(int x,int st)
{
st++;
int dr=n,mij;
while(st<=dr)
{
mij=(st+dr)/2;
if(v[mij]>x)
dr=mij-1;
else if(v[mij]<x)
st=mij+1;
else return 1;
}
return 0;
}
int main()
{
f>>n>>s;
for(int i=1;i<=n;i++)
f>>v[i];
sort(v+1,v+1+n);
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
for(int k=j+1;k<=n;k++)
if(cautbin(s-(v[i]+v[j]+v[k]),k))
nr++;
cout<<nr;
}