Cod sursa(job #474464)

Utilizator APOCALYPTODragos APOCALYPTO Data 3 august 2010 21:04:07
Problema Oite Scor 0
Compilator cpp Status done
Runda easycontest Marime 1.16 kb
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;
}