Cod sursa(job #1162785)

Utilizator tudormaximTudor Maxim tudormaxim Data 31 martie 2014 23:18:24
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int n,b[2000000],a[2000000],maxi,i,j,adat;
int g(int n)
{
    for (int i = 0; i < n; i++)
    {
        int nr = 0;
        for (int j = 0; j < n; j++)
        {
            if (a[j]==a[i])
                nr++;
        }
        if  (nr > n / 2)
           {adat=nr;return a[i];}
    }
    return -1;
}
int f(int n,int k)
{

    for (int i = 0; i < n; i++)
    {
        b[a[i]]++;
    }
    for (int i = 0; i < k; i++)
    {
         if (b[i] > n/2)
         {adat=b[i];return i;}
    }
    return -1;
}
void citire()
{
in>>n;
for(int i=0;i<n;i++)
{
    in>> a[i];
    if(maxi<a[i])
        maxi=a[i];
}
in.close();
}

int main()
{
    citire();

    int x=0;
    x=f(n,maxi);
   out<<x<<" "<<adat;
    out.close();
    return 0;
}