Pagini recente » Cod sursa (job #593106) | Cod sursa (job #2053834) | Cod sursa (job #1149541) | Cod sursa (job #1519483) | Cod sursa (job #1839262)
#include <fstream>
#include <algorithm>
#include <unordered_map>
#define VAL 1035
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
int N, SUM, i, j;
int v[VAL], ans, s;
unordered_map<int, int> h;
int main()
{
fin >> N >> SUM;
for (i=1; i<=N; i++)
fin >> v[i];
sort(v+1, v+N+1);
for (i=1; i<=N; i++)
{
if (v[i]>SUM)
break;
for (j=i+1; j<=N; j++)
{
s=v[i]+v[j];
if (s<=SUM)
ans+=h[SUM-s];
else
break;
}
for (j=1; j<i; j++)
h[v[i]+v[j]]++;
}
fout << ans << '\n';
fin.close();
fout.close();
return 0;
}