Cod sursa(job #2232196)

Utilizator giotoPopescu Ioan gioto Data 17 august 2018 19:38:37
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <bits/stdc++.h>
using namespace std;

int n;
int np[9005], ni[9005], f[9005];
int main()
{
    freopen("medie.in", "r", stdin);
    freopen("medie.out", "w", stdout);

    scanf("%d", &n);
    int x, nri = 0, nrp = 0;
    long long Sol = 0;
    for(int i = 1; i <= n ; ++i){
        scanf("%d", &x);
        if(x % 2 == 0){
            np[++nrp] = x;
            for(int i = 1; i < nrp ; ++i){
                ++f[(np[i] + x) / 2];
                if(np[i] + x == x * 2) Sol -= 2;
            }
        }
        else{
            ni[++nri] = x;
            for(int i = 1; i < nri ; ++i){
                ++f[(ni[i] + x) / 2];
                if(ni[i] + x == x * 2) Sol -= 2;
            }
        }
    }

    for(int i = 1; i <= nri ; ++i)
        Sol += f[ni[i]];
    for(int i = 1; i <= nrp ; ++i)
        Sol += f[np[i]];
    printf("%lld", Sol);

    return 0;
}