Cod sursa(job #2098560)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 2 ianuarie 2018 23:53:56
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
using namespace std;
ifstream cin("medie.in");
ofstream cout("medie.out");
const int NMAX=9000,VALMAX=7000;
int n,v[NMAX+5],dp[VALMAX+5],ap[NMAX+5],sol;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>v[i];
        ap[v[i]]++;
    }
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
            if((v[i]+v[j])%2==0)
                {
                    int val=(v[i]+v[j])/2;
                    if(v[i]!=v[j] and v[i]!=val and v[j]!=val)
                    {
                        sol+=ap[val];
                        continue;
                    }
                    if(v[i]!=v[j] and (v[i]==val or v[j]==val))
                    {
                        if(ap[val]-1<0)
                            continue;
                        sol+=ap[val]-1;
                        continue;
                    }
                    if(ap[val]-2<0)
                        continue;
                    sol+=ap[val]-2;
                }
    cout<<sol;
    return 0;
}