Cod sursa(job #1754117)

Utilizator vlasiuflaviusVlasiu Flavius vlasiuflavius Data 7 septembrie 2016 16:19:56
Problema Medie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;
ofstream fout ("medie.out");
ifstream fin ("medie.in");
int 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 )
    {
        v2[ i ] += max( ( v1[ i / 2 ] * ( v1[ i / 2 ] - 1 ) ) / 2 , 0 );
        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 ] + 1 ) * v1[ i ];
    fout<<suma;
    fin.close();
    fout.close();
    return 0;
}