Cod sursa(job #1545444)

Utilizator andytosaAndrei Tosa andytosa Data 6 decembrie 2015 19:09:25
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>

using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int n,a,b,x,y,v[1000010],nr;
int main()
{
    fin>>n;
    fin>>a;
    x++;
    v[0] = a;
    for(int i = 1; i < n; ++i){
        fin>>b;
        v[i] = b;
        y = 1;
        if(a != 0){
            if(a == b){
                x++;
                b = 0;
                y = 0;
            }
            else {
                x--;
                y--;
                if(x == 0)
                    a = 0;
                if(y == 0)
                    b = 0;
            }
        }
        else {
            a = b;
            x = 1;
        }
    }
    fout<<a;
    for(int i = 0; i < n; ++i)
        if(v[i] == a)
            nr++;
    fout<<" "<<nr;
    return 0;
}