Cod sursa(job #2184067)

Utilizator ksanyi2000Kalman Sandor ksanyi2000 Data 23 martie 2018 18:06:41
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>         // 1 2 2 3 2 2 2 4 2 4 2 4
using namespace std;

int a[1000005], cnt =0;

int main()
{
    int n, szam, major = 0, db = 0;

    ifstream f("elmaj.in");
    ofstream g("elmaj.out");


    //cin >> n;
    f >> n;

    while(n)
    {
        f>> a[cnt];
        szam = a[cnt];
        cnt++;
        if(db == 0)
        {
            major = szam;
            db = 1;
        }
        else if(major == szam)
            db++;
        else
            db--;
        n--;
    }

    db = 0;
    for(int i=0; i<cnt; i++)
    {
       szam = a[i];
        if(szam == major)
            db++;
    }
    if(db > n/2)
    {
        //cout << major;
        g << major <<' '<< db;
    }
    else
    {
        //cout << -1;
        g << -1;
    }
    g << '\n';
    return 0;
}