Cod sursa(job #2108633)

Utilizator cipri321Marin Ciprian cipri321 Data 18 ianuarie 2018 17:39:35
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#define DN 9005
#define MAXV 7005
using namespace std;
ifstream fi("medie.in");
ofstream fo("medie.out");
int n, A[DN];
int F[MAXV],S[2*MAXV];
int rez;
int main()
{
    fi>>n;
    for(int i=1;i<=n;i++)
    {
        fi>>A[i];
        F[A[i]]++;
    }
    for(int i=MAXV-1;i>=0;i--)
        for(int j=i;j>=0;j--)
            if(F[j]&&F[i])
            {
                if(i==j)
                    S[2*i]+=F[i]*(F[i]-1)/2;
                else
                    S[i+j]+=F[i]*F[j];

            }
    for(int i=1;i<=n;i++)
        rez+=S[2*A[i]]-(F[A[i]]-1);
    fo<<rez;
    fi.close();
    fo.close();
    return 0;
}