Cod sursa(job #1343606)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 15 februarie 2015 17:31:14
Problema Oite Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <map>
#include <set>
#define nmax 1030
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
int n,l,s,sol,sol1;
int x[nmax];

multiset <int> v[nmax];
multiset <int> sum;

int main()
{
    int i,j;
    f>>n>>l;
    for (i=1;i<=n;i++)
        f>>x[i];

    for (i=1;i<=n;i++)
        for (j=i+1;j<=n;j++)
            {s=x[i]+x[j];
             sum.insert(s);
             v[i].insert(s);
             v[j].insert(s);
        }

    for (i=1;i<=n;i++)
        for (j=i+1;j<=n;j++) {
                s=x[i]+x[j];
                sol1=0;
                if (s<=l) {
                    sol1=sum.count(l-s);
                    sol1-=v[i].count(l-s);
                    sol1-=v[j].count(l-s);
                    if (l-s==s) sol1++;
                }
                sol+=sol1;
        }
    g<<sol/6;


    return 0;
}