Cod sursa(job #1867863)

Utilizator anderut22Sandu Andrei anderut22 Data 4 februarie 2017 13:17:35
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define DMAX 1000000
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int n;
long long v[DMAX];
int main()
{
    int i, probabil=1, elmaj, nrAparitii=0;
    cin >> n;
    cin >> v[0];
    elmaj=v[0];
    for (i=1; i<n; i++)
    {
        cin >> v[i];
        if (elmaj==v[i]) probabil++;
            else if (probabil>0) probabil--;
                else elmaj=v[i];
    }
    for (i=0; i<n; i++) if (v[i]==elmaj) nrAparitii++;
    if (nrAparitii>=(n/2)+1) cout << elmaj<< ' '<< nrAparitii;
        else cout << "-1";
    return 0;
}