Cod sursa(job #1218410)

Utilizator rangerChihai Mihai ranger Data 10 august 2014 22:54:04
Problema Oite Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream cin("oite.in");
ofstream cout("oite.out");

const int P = 666013;
long long n,l,i,j,a[1050],res=0;
vector< pair<long,long> > v[P];

int main()
{
    cin>>n>>l;
    for (i=1;i<=n;i++) cin>>a[i];
    for (i=1;i<n;i++)
        for (j=i+1;j<=n;j++)
          v[(a[i]+a[j])%P].push_back(make_pair(a[i]+a[j],i));
    for (i=1;i<n;i++)
    for (j=i+1;j<=n;j++) {
        int x = (l - a[i] - a[j]), y=x % P;
        for (int k=0;k<v[y].size();k++)
            if (v[y][k].first==x && j<v[y][k].second)
                  ++res;
    }
    cout<<res;
    return 0;
}