Cod sursa(job #1410507)

Utilizator casianos1996Marc Casian Nicolae casianos1996 Data 31 martie 2015 08:59:33
Problema Elementul majoritar Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.97 kb
{Suiram are o noua cerinta pentru voi. El va da un vector cu n elemente si va roaga sa gasiti elementul sau majoritar.
Un element este considerat majoritar daca apre de cel putin n/2+1 ori in vector.}
program elmaj;
var     nr,x,n,m,c,i,j:longint;
        bufin,bufout:array[1..1 shl 16] of byte;
        v:array[1..1000001] of longint;
begin
  assign(input,'elmaj.in'); reset(input);
  assign(output,'elmaj.out'); rewrite(output);
  settextbuf(input,bufin);
  settextbuf(output,bufout);
  readln(n);
  read(v[1]);
  m:=v[1]; c:=1;
  for i:=2 to n do
    begin
      read(v[i]);
      if v[i]=m then inc(c)
      else
        begin
          dec(c);
          if c=0 then
            begin
              m:=v[i];
              c:=1;
            end;
        end;
    end;
  close(input);
  reset(input);
  readln(n);
  nr:=0;
  for i:=1 to n do
    if v[i]=m then inc(nr);
  if nr>=(n div 2) +1 then writeln(m,' ',nr)
  else writeln('-1');
  close(output);
end.