Cod sursa(job #1287386)

Utilizator nutty236Stroia Aida nutty236 Data 7 decembrie 2014 14:04:25
Problema Elementul majoritar Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<iostream>
#include<stdlib.h>
#include<fstream>


using namespace std;

int a[100];

int maj(int n, int a[100],int &nr)
 {
    int c=-1,k=0,i;
    for(i=0;i<n;i++)
        {
        if(k==0)
            {c=a[i];
            k=1;
            }
        else
            if(a[i]==c)
              k++;
            else
               k--;
         }
    if (c<0)
        return c;
    nr=0;
    for (i=0;i<n;i++)
        {
        if(a[i]==c)
            nr++;
        }
    if(nr>=n/2+1)
        return c;
    else
        return -1;
}


int main()
{int i;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,m;
 f>>n;
for(i=0;i<n;i++)
   f>>a[i];
int k;
 m=maj(n,a,k);
if(m!=-1)
   g<<m<<' '<<k;
else
   g<<"-1";

    return 0;
}