Cod sursa(job #1881662)

Utilizator AlexTheDagonBogdan Tudor AlexTheDagon Data 16 februarie 2017 17:30:44
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define pb push_back
using namespace std;
ifstream in("medie.in");
ofstream out("medie.out");
int x,fr[15005],n;
vector <int> v;
long long nr,rez;
int main()
{
    in>>n;
    for(int i=1;i<=n;++i)
    {
        in>>x;
        if(fr[x]==0)v.pb(x);
        ++fr[x];
    }
    sort(v.begin(),v.end());
    for(int i=0;i<v.size();++i)
    {
        for(int j=0;j<=i;++j)
        {
            rez=0;
            rez=fr[v[i]];
            fr[v[i]]--;
            rez=rez*fr[v[j]];
            --fr[v[j]];
            rez=rez*fr[2*v[i]-v[j]];
            if(i==j)rez=rez/2;
            nr+=rez;
            ++fr[v[j]];
            ++fr[v[i]];
        }
    }
    out<<nr;
    return 0;
}