Cod sursa(job #964638)

Utilizator Al3ks1002Alex Cociorva Al3ks1002 Data 21 iunie 2013 19:51:59
Problema Oite Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<cstdio>
#include<vector>
using namespace std;
const int NMAX = 1030;
const int MOD = 666013;
int N,L,i,j,A[NMAX],sol,sum,R;
vector<int> V[MOD];
int main()
{
    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++)
        {
            sum=A[i]+A[j];
            if(sum>=L) continue;
            R=(L-sum)%MOD;
            for(vector<int>::iterator it=V[R].begin();it!=V[R].end();it++)
                if(*it==L-sum) sol++;
        }
        for(j=1;j<i;j++)
        {
            sum=A[i]+A[j];
            R=sum%MOD;
            V[R].push_back(sum);
        }
    }
    printf("%d\n",sol);
    return 0;
}