Cod sursa(job #2817691)

Utilizator luiz_felipeLuiz Felipe luiz_felipe Data 14 decembrie 2021 00:33:36
Problema Elementul majoritar Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 1.36 kb
package com.company;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Elmaj {

    static final String input = "src/elmaj.in";
    static final String output = "src/elmaj.out";
    static HashMap<Integer, Integer> tabela = new HashMap<>();


    public static void main(String[] args) throws IOException {
        Scanner fin = new Scanner(new File(input));
        BufferedWriter fout = new BufferedWriter(new FileWriter(output));
        int n = fin.nextInt();
        final int frecvMin = n / 2 + 1;
        int[] v = new int[n];
        for (int i = 0; i < n; ++i) v[i] = fin.nextInt();
        fin.close();
        for (int i = 0; i < n; ++i) {
            if (tabela.get(v[i]) == null) tabela.put(v[i], 1);
            else {
                int frecv = tabela.get(v[i]);
                tabela.remove(v[i]);
                tabela.put(v[i], frecv + 1);
            }
        }
        tabela.values().removeIf(value -> value < frecvMin);
        if (tabela.isEmpty()) fout.write(String.valueOf(-1));
        else {
            for (Map.Entry<Integer, Integer> entry : tabela.entrySet())
                fout.write(entry.getKey() + " " + entry.getValue());
        }
        fout.close();
    }
}