Cod sursa(job #1040346)

Utilizator cat_red20Vasile Ioana cat_red20 Data 24 noiembrie 2013 14:04:23
Problema Oite Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
#include<vector>
#define MOD 7919
#define MAXN 1024+1
using namespace std;
int a[MAXN][MAXN],l,n,t[MAXN];
long long sol;
vector<pair<short,short> > v[MOD+1];
ifstream fin("oite.in");
ofstream fout("oite.out");

void citire()
{
    fin>>n>>l;
    for(int i=1;i<=n;i++)
    {
        fin>>t[i];
    }
}

void sume()
{
    int s,s1;
    for(int i=1;i<n;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            s=t[i]+t[j];
            v[s%MOD].push_back(make_pair(i,j));
            a[i][j]=s;
            a[j][i]=s;
            s1=(l-s)%MOD;
            for(int k=0;k<v[s1].size();k++)
            {
                if(a[v[s1][k].first][v[s1][k].second]==l-s && v[s1][k].second<i)
                {
                    sol++;
                }
            }
        }
    }
}



int main()
{
    citire();
    sume();
    fout<<sol;
    return 0;
}