Cod sursa(job #1227172)

Utilizator mihaimusatMihai Musat mihaimusat Data 9 septembrie 2014 16:42:14
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
#include<vector>
#define mod 4013

using namespace std;

int c,l,i,j,nrsol;
int a[1025];
vector<int>h[mod+1];

void cauta(int x)
{
    int nod=x%mod;
    for(int i = 0; i < h[nod].size(); i++ )
        if (h[nod][i]==x) ++nrsol;
}
int main()
{   ifstream fin("oite.in");
    ofstream fout("oite.out");
    fin>>c>>l;
    for(i=1;i<=c;++i)
        fin>>a[i];
    for(i=1;i<c;++i)
    {
        for(j=i+1;j<=c;++j)
            if(l-a[i]-a[j]>=0)
                cauta(l-a[i]-a[j]);
        for(j=1;j<i;++j)
        {
            int x=(a[i]+a[j])%mod;
            h[x].push_back(a[i]+a[j]);
        }
    }
    fout<<nrsol;
    return 0;
}