Pagini recente » Cod sursa (job #806319) | Cod sursa (job #1301489) | Cod sursa (job #1247663) | Cod sursa (job #2094853) | Cod sursa (job #2953249)
#include <fstream>
#include <vector>
#define p1 666013
#define nmax 1030
using namespace std;
ifstream in("oite.in");
ofstream out("oite.out");
vector<int> f[p1];
int v[nmax];
int n, l, control, ct;
int main()
{
in>>n>>l;
for(int i=1; i<=n; i++)
{
in>>v[i];
}
for(int i=1; i<n; i++)
{
for(int j=i+1; j<=n; j++)
{
control = l - (v[i] + v[j]);
if(control < 0 )
continue;
for(int z = 0; z< f[control%p1].size(); z++)
{
if(f[control%p1][z] == control)
{
ct++;
}
}
}
for(int j= i -1; j>=1; j--)
{
f[(v[i]+v[j])%p1].push_back((v[i]+v[j]));
}
}
out<<ct;
return 0;
}