Pagini recente » Cod sursa (job #2511193) | Cod sursa (job #2792372) | Cod sursa (job #1297337) | Cod sursa (job #691875) | Cod sursa (job #1940698)
#include<vector>
#include<fstream>
#define har 967765
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
vector <pair<int, int> > v[har+10];
int n, i, j, h, ind ,aux,ok,sol,a[1026],c;
int main()
{
fin>>n>>c;
for(i=1;i<=n;i++)
fin>>a[i];
aux=a[1]+a[2];
v[aux%har].push_back(make_pair(aux, 1));
for(i=3;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
aux=c-a[i]-a[j];
ind=aux%har;ok=0;
if(ind<0)
continue;
for(h=0;h<v[ind].size();h++)
{
if(v[ind][h].first==aux)
{
sol+=v[ind][h].second;
break;
}
}
}
for(j=i-1;j>=1;j--)
{
aux=a[i]+a[j];ind=aux%har;ok=1;
for(h=0;h<v[ind].size();h++)
{
if(v[ind][h].first==aux)
{
v[ind][h].second++;ok=0;
break;
}
}
if(ok==1)
v[ind].push_back(make_pair(aux, 1));
}
}
fout<<sol;
fin.close();
fout.close();
return 0;
}