Pagini recente » Cod sursa (job #184945) | Cod sursa (job #419853) | Cod sursa (job #492082) | Profil MihneaGhira | Cod sursa (job #1553544)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
const int MOD = 6007;
const int DIM = 1030;
int N, S;
int a[DIM];
int ans;
vector<int> H[MOD];
int main()
{
fin >> N >> S;
for (int i = 1; i <= N; ++i)
fin >> a[i];
for (int i = 1; i < N; ++i)
{
for (int j = i + 1; j <= N; ++j)
{
int x = S - a[i] - a[j];
if (x < 0) continue;
int line = x % MOD;
for (auto it = H[line].begin(); it != H[line].end(); ++it)
if (*it == x) ans++;
}
for (int j = 1; j < i; ++j)
{
int s = a[i] + a[j];
H[s % MOD].push_back(s);
}
}
fout << ans;
}