Cod sursa(job #2075602)

Utilizator mirunafrancescaMiruna mirunafrancesca Data 25 noiembrie 2017 15:51:41
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;

int a[1000005];

int main()
{
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);

    int n, x, fr=1;
    cin>>n;
    cin>>a[1];
    x=a[1];

    for(int i=2; i<=n; i++)
     {
         scanf("%d ",&a[i]);

         if(a[i]==x)
            fr++;
         else
            fr--;
         if(fr==0)
          {
              x=a[i];
              fr=1;
          }
     }

    fr=0;
    for(int i=1; i<=n; i++)
        if(a[i]==x)
            fr++;
    if(fr>=n/2+1)
        cout<<x<<" "<<fr;
    else
        cout<<-1;

    /*sort(a+1,a+n+1);

    for(i=1; i<=n/2; i++)
    {
        if(a[i]==a[n/2+i])
           {
               cout<<a[i]<<" ";
               x=a[i];
               j=n/2+i+1;
               break;
           }
    }

    int cont=n/2+1;
    while(j<=n && a[j]==a[i])
     {
         cont++;
         j++;
     }
    cout<<cont;*/



    return 0;
}