Cod sursa(job #1893524)

Utilizator dumitrualexAlex Dumitru dumitrualex Data 25 februarie 2017 19:05:31
Problema Elementul majoritar Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 0.78 kb
import java.io.*;
import java.util.Scanner;

public class Main {
	static int N;
	static int[] v;

	public static void main(String[] args) 
	 throws FileNotFoundException, IOException
	 {
		Scanner in = new Scanner(new File("elmaj.in"));
		PrintWriter out = new PrintWriter("elmaj.out");
		N = in.nextInt();
		v = new int[N];

		for (int i = 0; i < N; i++)
			v[i] = in.nextInt();

		int el = v[0];
		int cnt = 1;

		boolean ok = false;

		for (int i = 1; i < N; i++)
			if (v[i] != el)
			{
				cnt--;
				if (cnt == 0)
				{
					el = v[i];
					cnt = 1;
				}
			}
			else
				cnt++;

		cnt = 0;

		for (int x : v)
			if (x == el)
				cnt++;

		if (cnt >= N/2 + 1)
			out.printf("%d %d\n", el, cnt);
		else
			out.printf("-1\n");

		out.close();
	}
}