Pagini recente » Cod sursa (job #2406950) | Cod sursa (job #1934032) | Cod sursa (job #2882493) | Cod sursa (job #1777245) | Cod sursa (job #2523768)
#include <bits/stdc++.h>
#define mod 1000017
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
int n,i,j,sol,L,s,k,v[1030];
vector< pair<int,int> > h[mod];
int main() {
fin>>n>>L;
for (i=1;i<=n;i++)
fin>>v[i];
for (i=1;i<n;i++) {
for (j=i+1;j<=n;j++) {
s=L-v[i]-v[j];
if (s<0)
continue;
for (k=0;k<h[s%mod].size();k++) {
if (h[s%mod][k].first==s) {
sol+=h[s%mod][k].second;
break;
}
}
}
for (j=1;j<i;j++) {
s=v[i]+v[j];
if (v[i]+v[j]>L)
continue;
for (k=0;k<h[s%mod].size();k++) {
if (h[s%mod][k].first==s) {
h[s%mod][k].second++;
break;
}
}
if (k==h[s%mod].size())
h[s%mod].push_back({s,1});
}
}
fout<<sol;
return 0;
}