Cod sursa(job #1512159)

Utilizator ade_tomiEnache Adelina ade_tomi Data 27 octombrie 2015 18:58:11
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<iostream>
#include<fstream>
#include<vector>
#define mod 6663
using namespace std;
long long l,n;
vector<int> v[1024*1024/2+3];
long long find(int x)
{
    long long i;
    long long rez=0;
    long long q=(x)%mod;
    for(i=0;i<v[q].size();i++)
    {
        if(v[q][i]==x)
            rez++;
    }
    return rez;
}
void add(int x)
{

    long long q=x%mod;
    v[q].push_back(x);
}
long long a[1400];
int main()
{
    long long i,sol=0;
    ifstream cin("oite.in");
    ofstream cout("oite.out");
    cin>>n>>l;
    sol=0;
    for(i=1;i<=n;i++)
        cin>>a[i];
    for(i=1;i<=n;i++)
    {

        for(int j=i+1;j<=n;j++)
        {

            long long sum=l-a[i]-a[j];
            if(sum>0)
                sol+=find(sum);

        }
        for(long long j=1;j<i;j++)
            add(a[i]+a[j]);

    }
    cout<<sol;
    return 0;

}