Pagini recente » Cod sursa (job #2481742) | Cod sursa (job #176501) | Cod sursa (job #70925) | Cod sursa (job #2701629) | Cod sursa (job #2929744)
#include <fstream>
#include <vector>
#include <iostream>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
const int mod = 666013;
vector <long long> h[mod];
int c, l, x;
long long rez;
int lana[1030];
void update(long long k)
{
int poz = k % mod;
h[poz].push_back(k);
}
void check(long long k)
{
int poz = k % mod;
for(int i = 0; i < h[poz].size(); i++)
if(h[poz][i] == k)
rez++;
}
int main()
{
fin >> c >> l;
for(int i = 1; i <= c; i++)
{
fin >> x;
lana[i] = x;
}
for(int i = 2; i <= c; i++)
{
for(int j = i + 1; j <= c; j++)
{
long long sum = lana[i] + lana[j];
if(l - sum > 0)
check(l - sum);
}
for(int j = i - 1; j >= 1; j--)
{
update(lana[i] + lana[j]);
}
}
fout << rez;
fin.close();
fout.close();
return 0;
}