Cod sursa(job #461520)

Utilizator edp100Edp100 edp100 Data 7 iunie 2010 11:49:00
Problema Oite Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#include<map>
using namespace std;

#define ll long long

map<int,int> h;
int n,s,v[1050];
int sv;
ll sol;

int main ()
{
    int i,j;
    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++)
        {
            sv=s-v[i]-v[j];
            sol+=h[sv];
        }
        for(j=1;j<i;j++)
            h[v[i]+v[j]]++;
    }
    printf("%lld\n",sol);
    return 0;
}