Cod sursa(job #2440443)

Utilizator NashikAndrei Feodorov Nashik Data 18 iulie 2019 13:55:16
Problema Medie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
//#include <iostream>
#include <fstream>
using namespace std;
int n,f[10000],fr[20000],v[10000],a,par[10000],impar[10000],cp,ci;
long long sum;
int main()
{
    ifstream cin("medie.in");
    ofstream cout("medie.out");
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a;
        v[i]=a;
        if(a%2==0){
            par[++cp]=a;
        }
        else{
            impar[++ci]=a;
        }
        f[a]++;
    }
    for(int i=1;i<=cp;i++){
        for(int j=i+1;j<=cp;j++){
            if(par[i]!=par[j]){
                fr[par[i]+par[j]]++;
            }
        }
    }
    for(int i=1;i<=ci;i++){
        for(int j=i+1;j<=ci;j++){
            if(impar[i]!=impar[j]){
                fr[impar[i]+impar[j]]++;
            }
        }
    }
    for(int i=1;i<=n;i++){
        sum+=fr[2*v[i]];
        sum+=(f[v[i]]-1)*(f[v[i]]-2)/2;
    }
    cout<<sum;
    return 0;
}