Cod sursa(job #1879960)

Utilizator gavristgavris gavrist Data 15 februarie 2017 12:02:29
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
bool nuApareAnterior(int nr,int pozitie, int v[] )
{
    if(pozitie==0)
        return true;
    else
    {
        for(int i=0; i<pozitie; i++)
        {
            if(v[i]==nr)
                return false;
        }
        return true;
    }
}
int main()
{
    int n,m,k=0,nmx=0;
    fin>>n;
    int l=n;
    int v[n],mx=-1;
    for(int i=0; i<n; i++)
    {
        fin>>v[i];
    }
    for(int i=0;i<n;i++){
        cout<<nuApareAnterior(v[i],i,v)<<' ';
    }
    for(int i=0; i<n; i++)
    {
        if(nuApareAnterior(v[i],i,v)) {
            k=0;
            for(int j=0;j<n;j++) {

                if(v[j]==v[i])
                    k++;
            }
            if(k>mx){
                mx=k;
                nmx=v[i];
            }
        }
    }
    if(mx>=(n/2+1)) {
        fout<<nmx<<' '<<mx;
    }
    else fout<<-1;

}