Pagini recente » Rating Sacrieriu Razvan-Marcian (Marcian) | Istoria paginii runda/leiten1/clasament | Cod sursa (job #2197992) | Cod sursa (job #1774140) | Cod sursa (job #474463)
Cod sursa(job #474463)
using namespace std;
#include<iostream>
#include<fstream>
#include <hash_map.h>
ofstream fout("oite.out");
hash_map <int, int, hash <int> > H;
struct nod{
int val;
short x1,x2;
};
int N,a[1030],L;
nod v[1100000];
long long answer;
void solve()
{int contor=0,i,j;
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
if(i>j)
{
contor++;
v[contor].val=a[i]+a[j];
H[v[contor].val]=contor;
v[contor].x1=i;
v[contor].x2=j;
//cout<<v[contor].val<<" ";
}
//cout<<"\n";
//cout<<contor<<"\n";
int muila;
for(i=1;i<=contor;i++)
{muila=H[L-v[i].val];
if(muila>i)
{if(v[muila].x1!=v[i].x1&&v[muila].x2!=v[i].x1&&v[muila].x1!=v[i].x2&&v[muila].x2>v[i].x2)
{
answer++;
//cout<<v[muila].x1<<" "<<v[muila].x2<<" "<<v[i].x1<<" "<<v[i].x2<<"\n";
}
}
}
fout<<answer<<"\n";
}
void cit()
{int i;
ifstream fin("oite.in");
fin>>N>>L;
for(i=1;i<=N;i++)
{ fin>>a[i];
//cout<<a[i]<<" ";
}
//cout<<"\n";
fin.close();
}
int main()
{
cit();
solve();
fout.close();
return 0;
}