Cod sursa(job #1377766)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 6 martie 2015 01:14:46
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int main ()
{
  long long int a[1000001],n,cnt,i,x;
  fin>>n;
  for (i=1;i<=n;i++)
    fin>>a[i];

   x=a[1]; cnt=1;
   for (i=2;i<=n;i++)
   {
       if (a[i]==x)
           cnt++;
       else
           cnt--;
       if (cnt<0)
       {
           x=a[i];
           cnt=1;
       }
   }
   cnt=0;

   for (i=1; i<=n; i++)
        if (x==a[i])
            cnt++;

   if (cnt>=(n+1)/2)
        fout<<x<<" "<<cnt<<"\n";

  fin.close();
  fout.close();
  return 0;
}