Pagini recente » Cod sursa (job #2634368) | Cod sursa (job #1222285) | Cod sursa (job #2695574) | Cod sursa (job #1460526) | Cod sursa (job #964817)
Cod sursa(job #964817)
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;
int n, sum, result;
int a[1025];
vector<int>H[666013];
inline void Read()
{
ifstream f("oite.in");
f>>n>>sum;
int i;
for (i=1; i<=n; i++)
f>>a[i];
f.close();
}
inline void Solve()
{
int i, j, x;
vector<int>::iterator it, final;
for (i=1; i<=n; i++)
{
for (j=i+1; j<=n; j++)
{
x = sum - a[i] - a[j];
if (x >= 0)
for (it = H[x%MOD].begin(), final = H[x%MOD].end(); it!=final ; it++)
if (*it == x)
result++;
}
for (j=1; j<i; j++)
{
x = a[i] + a[j];
H[x%MOD].push_back(x);
}
}
}
inline void Write()
{
ofstream g("oite.out");
g<<result<<"\n";
g.close();
}
int main()
{
Read();
Solve();
Write();
return 0;
}