Cod sursa(job #1754139)

Utilizator vlasiuflaviusVlasiu Flavius vlasiuflavius Data 7 septembrie 2016 16:35:44
Problema Medie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
ofstream fout ("medie.out");
ifstream fin ("medie.in");
long long suma,v1[ 7200 ],v2[ 7200 ],i,j,n,aux,maxi;
int main()
{
    fin>>n;
    for( i = 1 ; i <= n ; i++ )
    {
        fin>>aux;
        v1[ aux ]++;
        maxi = max( maxi , aux );
    }
    maxi *= 2;
    for( i = 2 ; i <= maxi ; i += 2 )
        for( j = i / 2 - 1 ; j > 0 ; j-- )
            v2[ i ] += v1[ j ] * v1[ i - j ];
    maxi /= 2;
    for( i = 1 ; i <= maxi ; i++ )
    {
        suma += v2[ i * 2 ] * v1[ i ];
        suma += v1[ i ] * ( v1[ i ] - 1 ) * ( v1[ i ] - 2 ) / 2;
    }
    fout<<suma;
    fin.close();
    fout.close();
    return 0;
}