Cod sursa(job #1502580)

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