Pagini recente » Cod sursa (job #510455) | Cod sursa (job #937275) | Cod sursa (job #474696) | Cod sursa (job #2377456) | Cod sursa (job #474462)
Cod sursa(job #474462)
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";
}
}
}
cout<<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;
}