Cod sursa(job #1530768)

Utilizator avaspAva Spataru avasp Data 21 noiembrie 2015 12:49:50
Problema Oite Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
using namespace std;
int MOD,v[1025],hsh[666014],n,l,s;
long long posib;
int main(){
    freopen("oite.in","r",stdin);
    freopen("oite.out","w",stdout);
    scanf("%d%d",&n,&l);
    MOD=666013;
    for(int i=1;i<=n;i++)
        scanf("%d",&v[i]);
    posib=0;
    for(int i=1;i<=n-1;i++){
        for(int j=i+1;j<=n;j++){
            s=l-v[i]-v[j];
            if(s>=0){
                if(hsh[s]!=0)
                    posib+=hsh[s];
            }
        }
        for(int j=1;j<i;j++){//perechea v[i], v[j]
            s=(v[i]+v[j])%MOD;
            hsh[s]++;
        }
    }
    printf("%lld",posib);
    return 0;
}