Pagini recente » Cod sursa (job #1615281) | Cod sursa (job #1155327) | Cod sursa (job #1759819) | Cod sursa (job #1528416) | Cod sursa (job #979326)
Cod sursa(job #979326)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
const int N = 1026;
const int mod = 65599;
int C, L, sol, v[N];
vector <int> a[mod+1];
int Find(const int val)
{
const int x = val % mod; int nr = 0;
for(unsigned i=0; i<a[x].size(); i++)
if(a[x][i] == val) nr++;
return nr;
}
void Insert(const int val)
{
const int x = val % mod;
a[x].push_back(val);
}
int main()
{
fin>>C>>L; fin.get();
for(int i=1; i<=C; i++)
fin>>v[i];
for(int i=2; i<C; i++)
{
for(int j=i+1; j<=C; j++)
if(L-v[i]-v[j] > 0) sol += Find(L-v[i]-v[j]);
for(int j=1; j<i; j++)
Insert(v[i]+v[j]);
}
fout<<sol;
return 0;
}