Cod sursa(job #1868392)

Utilizator IustinSSurubaru Iustin IustinS Data 4 februarie 2017 21:35:29
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#define VMAX 1000001
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int v[VMAX],n;
int main()
{fin>>n;
 int cand = -1, k = 0;
    for (int i = 0; i < n; i++)
        {fin>>v[i];
            if (k == 0)
            {
                cand = v[i];
                k = 1;
            }
            else if (v[i] == cand)
                k++;
            else
                k--;
        }
    if (cand < 0)
        fout<<cand;
   else
    {int nr = 0;
    for (int i = 0; i < n; i++)
        if (v[i] == cand)
            nr++;
    if (nr > n / 2)
        fout<<cand<<" "<<nr;
    else
        fout<<-1;
    }
    return 0;
}