Cod sursa(job #1392567)

Utilizator depevladVlad Dumitru-Popescu depevlad Data 18 martie 2015 18:52:19
Problema Medie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>
#include <algorithm>

using namespace std;

#define inFile "medie.in"
#define outFile "medie.out"
#define MAX_N 9000
#define MAX_VAL 7000

int v[MAX_N+1];
int freq[MAX_VAL+1];
int nr[MAX_VAL*2+1];

int main() {
    freopen(inFile, "r", stdin);
    freopen(outFile, "w", stdout);
    
    int n, i, j;
    long long s = 0;
    
    scanf("%d", &n);
    
    for(i = 1; i <= n; i++) {
        scanf("%d", &v[i]);
        freq[v[i]]++;
    }
    
    for(i = 2; i <= 2*MAX_VAL; i += 2) {
        for(j = 1; j < i/2; j++)
            nr[i] += freq[j]*freq[i-j];
        nr[i] += (freq[i/2]-1)*freq[i/2]/2;
    }
    
    for(i = 1; i <= n; i++) 
        s += max(nr[2*v[i]] - freq[v[i]] + 1, 0);
    
    printf("%lld\n", s);
    
    return 0;
    
    for(i = 2; i <= 2*MAX_VAL; i+=2)
        printf("%d\n", nr[i]);
}