Cod sursa(job #1542280)

Utilizator daneel95Holteiu Daniel-Ninel daneel95 Data 5 decembrie 2015 11:19:36
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#define M 8533
#include <vector>

using namespace std;

ifstream in("oite.in");
ofstream out("oite.out");

int c,l;
int a[1030];
vector <int> Hash[M];

int main()
{
    int i,j,k,nr=0,t,sum,p;
    in>>c>>l;
    for(i=1;i<=c;i++) in>>a[i];
    for(i=1;i<c;i++)
    {
        for(j=i+1;j<=c;j++)
        {
            t=l-a[i]-a[j];
            p=t%M;
            if(t>=0)
            {
                for(k=0;k<Hash[p].size();k++)
                {
                    if(Hash[p][k]==t) nr++;
                }
            }
        }
        for(j=1;j<i;j++)
        {
            sum=a[i]+a[j];
            Hash[sum%M].push_back(sum);
        }
    }
    out<<nr;
    in.close();
    out.close();
    return 0;
}