Cod sursa(job #964633)

Utilizator Al3ks1002Alex Cociorva Al3ks1002 Data 21 iunie 2013 19:45:32
Problema Oite Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<cstdio>
#include<map>
using namespace std;
const int NMAX = 1030;
int N,L,i,j,A[NMAX],sol,sum;
unordered_map<int,int> M;
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;
            sol+=M[L-sum];
        }
        for(j=1;j<i;j++)
        {
            sum=A[i]+A[j];
            M[sum]++;
        }
    }
    printf("%d\n",sol);
    return 0;
}