Cod sursa(job #1784702)

Utilizator MarcuMLMMischie Marcus Lionel MarcuMLM Data 20 octombrie 2016 13:27:57
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ifstream f("elmaj.in");
    ofstream g("elmaj.out");
    int n,a[500001],gasit=-1,ap=-1;
    f>>n;
    for(int i=0; i<n; i++)
    {
        f>>a[i];
    }

    sort(a+0,a+n);
    int i = 0;
    while (i < n) {
          int j = i;
          while (j < n && a[j + 1] == a[i])
              j++;
            if(j-i+1>n/2)
              {
                  gasit=a[i];
                  ap=j-i+1;
                  break;
              }
          i = j + 1;
    }


    if(ap!=-1)
        g<<gasit<<" "<<ap;
    else
        g<<"-1";

    return 0;
}