Cod sursa(job #2034026)

Utilizator gavra_bogdanBogdan Gavra gavra_bogdan Data 7 octombrie 2017 13:04:08
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#define Nmax 1000001
using namespace std;
int v[Nmax];
int main()
{
    ifstream cin("elmaj.in");
    ofstream cout("elmaj.out");
    int n,cand,cnt=0;
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    cand=v[1];
    cnt++;
    for(int i=2;i<=n;i++)
    {
        if(v[i]==cand)
            cnt++;
        else
            {
                cnt--;
                if(cnt<0)
                {
                    cand=v[i];
                    cnt=1;
                }
            }
    }
    cnt=0;
    for(int i=1;i<=n;i++)
        if(v[i]==cand)
            cnt++;
    if(cnt>n/2)
        cout<<cand<<" "<<cnt;
    else
        cout<<"-1";
    return 0;
}