Cod sursa(job #2073053)

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

#define uint unsigned int

int main()
{
    std::fstream f("elmaj.in");
    
    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";
        
    std::fstream out("elmaj.out");
    
    if (number == -1)
    {
        out << -1; 
    }
    else
    {
        out << number;
        out << max;
    }
}