Cod sursa(job #1776450)

Utilizator danstefanDamian Dan Stefan danstefan Data 11 octombrie 2016 12:27:31
Problema Oite Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
int n,s,i,v[1030],sol,j;
vector<int>hs[MOD+10];
int main()
{
    freopen("oite.in","r",stdin);
    freopen("oite.out","w",stdout);
    scanf("%d%d",&n,&s);
    for(i=1; i<=n; ++i)
        scanf("%d",&v[i]);
    for(i=1; i<=n; ++i)
    {
        for(j=i+1; j<=n; ++j)
            if(hs[(s-v[i]-v[j])%MOD].size()!=0)sol+=hs[(s-v[i]-v[j])%MOD].size();
        for(j=1; j<i; ++j)
            hs[(v[i]+v[j])%MOD].push_back((s-v[i]-v[j])%MOD);
    }
    printf("%d\n",sol);
    return 0;
}