Pagini recente » Cod sursa (job #1494176) | Cod sursa (job #928057) | Cod sursa (job #914394) | Cod sursa (job #1321810) | Cod sursa (job #389335)
Cod sursa(job #389335)
#include <cstdio>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
#define file_in "oite.in"
#define file_out "oite.out"
#define Nmax 5297378
int n,s,v[Nmax],nr;
set<int> G;
int main()
{
int i,j;
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &n, &s);
for (i=1;i<=n;++i)
scanf("%d", &v[i]);
for (i=3;i<n;++i)
for (j=i+1;j<=n;++j)
G.insert(v[i]+v[j]);
nr=0;
for (j=2;j<n-1;++j)
{
for (i=1;i<j;++i)
nr+=G.count(s-v[i]-v[j]);
for (i=j+2;i<=n;++i)
G.erase(v[j+1]+v[i]);
}
printf("%d\n", nr);
fclose(stdin);
fclose(stdout);
return 0;
}