Cod sursa(job #2073056)

Utilizator BananyaDevLuca Sas BananyaDev Data 22 noiembrie 2017 17:51:04
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.12 kb
#include <iostream>
#include <vector>
#include <fstream>

#define uint unsigned int

std::ifstream f("elmaj.in");
std::ofstream out("elmaj.out");

int main()
{
    size_t size;
    
    f >> size;

    std::vector<uint> numbers(size);

    while (f.good())
    {
        uint n;
        
        f >> n;
        
        numbers.push_back(n);
    }
    
    f.close();
    
    int number = -1;
    uint max = 0;
    int ct = 0;
    
    for (const auto n : numbers)
    {
        if (number == -1)
        {
            number = n;
            continue;
        }
        
        if (number != n) ct--; else ct++;
        
        if (ct > max) max = ct;
        
        if (ct == -1)
        {
            number = -1;
            ct = 0;
        }
    }
    
    // if (number != -1)
    //     std::cout << "Most occuring number: " << number << " Number of occurences: " << max + 1;
    // else 
    //     std::cout << "There is no such number";
    
    if (number == -1)
    {
        out << -1; 
    }
    else
    {
        out << number;
        out << max;
    }
}