Cod sursa(job #1502532)

Utilizator radu_uniculeu sunt radu radu_unicul Data 14 octombrie 2015 19:21:24
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=1; i<=l; ++i) scanf("%lld",&lana[i]);
    for(int i=1; i<c; ++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 = 1; j < i;++j)
        {
            long long val = lana[i] + lana[j];
            ha[val % MOD].push_back(val);
        }
    }
    printf("%lld",sol);
}