Cod sursa(job #1376197)

Utilizator horatiu11Ilie Ovidiu Horatiu horatiu11 Data 5 martie 2015 16:31:34
Problema Oite Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
//horatiu11
# include <cstdio>
# include <vector>
# define nmax 1025
# define mod 99997
using namespace std;
int n,l,nr,a[nmax];
vector <int>H[mod];
inline int find_nr(int x)
{
    vector <int>::iterator it;
    int v=x%mod,val=0;
    for(it=H[v].begin();it!=H[v].end();++it)
        if(*it==x)++val;
    return val;
}
int main()
{
    int i,j,s;
    freopen("oite.in","r",stdin);
    freopen("oite.out","w",stdout);
    scanf("%d%d",&n,&l);
    for(i=1;i<=n;++i)
        scanf("%d",&a[i]);
    for(i=1;i<n;++i)
    {
        for(j=i+1;j<=n;++j)
        {
            s=a[i]+a[j];
            if(l-s>0)
                nr+=find_nr(l-s);
        }
        for(j=1;j<i;++j)
        {
            s=a[i]+a[j];
            H[s%mod].push_back(s);
        }
    }
    printf("%d\n",nr);
    return 0;
}