Pagini recente » Cod sursa (job #252972) | Cod sursa (job #926834) | Cod sursa (job #368200) | Cod sursa (job #1816482) | Cod sursa (job #1180097)
#include <fstream>
#include <vector>
#define modulo 666013
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
vector<int> hasht[modulo];
int c, l, i, o[1025], j, posib;
void hasht_insert(int s)
{
int list = s%modulo;
hasht[list].push_back(s);
}
int hasht_find(int s)
{
int list = s%modulo;
int ap=0;
int sz=hasht[list].size();
for (int it=0; it<sz; it++)
if (hasht[list][it] == s)
ap++;
return ap;
}
int main()
{
f>>c>>l;
for (i=1; i<=c; i++)
f>>o[i];
for (i=1; i<=c; i++){
for (j=i+1; j<=c; j++)
if (l-o[i]-o[j]>0)
posib+=hasht_find(l-o[i]-o[j]);
for (j=1; j<=i-1; j++)
hasht_insert(o[i]+o[j]);
}
g<<posib;
return 0;
}