Cod sursa(job #1235768)

Utilizator hasmasandragosHasmasan Dragos hasmasandragos Data 30 septembrie 2014 16:54:26
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
using namespace std;

//>problema cu complexitate oficiala N^2
//>s-a dat la ONI
//>pleb overload

ifstream f("medie.in");
ofstream g("medie.out");

int x,y,a[9005],frq[9005],n,i,j,m;
long long cont;

int main()
{
    f>>n;
    for (i=1;i<=n;i++)
       {
        f>>a[i];
        frq[a[i]]++;
       }
    for (i=1;i<=n;i++)
     for (j=i+1;j<=n;j++) // spilul , noi aici o sa parcurgem in N^2 sirul si verificam media numerelor tot 2 cate 2 . Si adunam la rezultat frecventa mediei.
     {
         m=(a[i]+a[j]);
         if (m%2==0)
         {
             m/=2;
             if (m==a[i])
              cont--; // aici scadem de 2 ori contorul , pentru ca este caz special, adica cand avem a[i]==a[j], pt ca daca nu am lua ca medie factorii actuali , ceea ce e imposibil;
             if (m==a[j])
              cont--;
            cont+=frq[m];
         }
     }

    g<<cont;
    return 0;
}