Cod sursa(job #1502525)

Utilizator radu_uniculeu sunt radu radu_unicul Data 14 octombrie 2015 19:16:23
Problema Oite Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<stdio.h>
#include<vector>
using namespace std;
long long int c,l,sol;
#define MOD 7919
vector<long long int>ha[MOD];
int main()
{
    freopen("oite.in","r",stdin);
    freopen("oite.out","w",stdout);
    scanf("%lld%lld",&c,&l);
    long long int lana[c+1];
    for(int i=0; i<l; i++) scanf("%lld",&lana[i]);
    for(int i=0; i<c-1; i++)
    {
        for(int j=i+1; j<c; j++)
        {
            long long value=l-lana[i]-lana[j];
            if(value<=0) continue;
            int key=value%MOD;
            for(vector<long long int>::iterator it=ha[key].begin(); it!=ha[key].end(); ++it) if(*it==value) sol++;
        }
        for(int j = 0; j < i; j++)
        {
            long long val = lana[i] + lana[j];
            ha[val % MOD].push_back(val);
        }
    }
    printf("%lld",sol);
}