Pagini recente » Cod sursa (job #2815889) | Cod sursa (job #312607) | Cod sursa (job #335602) | Cod sursa (job #3273909) | Cod sursa (job #2846337)
#include <fstream>
#include <algorithm>
#include <unordered_map>
#include <vector>
using namespace std;
const int NMAX = 1024, MOD = 666013;
int v[NMAX + 3];
vector <int> r[MOD];
int main()
{
ifstream cin("oite.in");
ofstream cout("oite.out");
int n, s, i, j;
cin >> n >> s;
for (i = 1; i <= n; i++)
cin >> v[i];
int ans = 0;
for (i = 1; i + 1 <= n; i++)
for (j = i + 1; j <= n; j++)
{
int sum = v[i] + v[j];
r[sum % MOD].push_back(j);
int need = s - sum;
if (need < 0)
continue;
int val = need % MOD;
for (int k = 0; k < r[val].size(); k++)
if (r[val][k] < i)
ans++;
}
cout << ans;
}