Cod sursa(job #1257548)

Utilizator mika17Mihai Alex Ionescu mika17 Data 7 noiembrie 2014 21:32:47
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <vector>
using namespace std;

int main() {

  ifstream fin("elmaj.in",ios::in);
  ofstream fout("elmaj.out",ios::out);

  int n;
  fin >> n;
  vector<int> a(n,0);
  for(int i=0;i<n;i++)
    fin >> a[i];
  
  int aa = a[0], k = 1;
  for(int i=1;i<n;i++) {
    
    if(a[i] == aa)
      k ++;
    else {
      if(k > 1)
	k --;
      else aa = a[i], k = 1;
    }
  }

  k = 0;
  for(int i=0;i<n;i++)
    if(a[i] == aa)
      k++;
  if(k > n / 2)
    fout << aa << ' ' << k << endl;
  else fout << -1 << endl;
  return 0;
}