Cod sursa(job #1582614)

Utilizator Matei_IgnutaMatei Ignuta Matei_Ignuta Data 28 ianuarie 2016 10:17:40
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <algorithm>

using namespace std;
int elmaj(int n, int a[]){
    sort(a+1, a+n+1);
    int i=0;
    while(i<n){
        int j=i;
        while(j<n and a[j+1]==a[i])
            j++;
        if((j-i+1) > n/2) return a[i];
        i= j+1;
        }
    return -1;
    }
int v[1000001];
int main()
{
    int n;
    freopen ("elmaj.in", "r", stdin);
    freopen ("elmaj.out", "w", stdout);
    scanf ("%d", &n);
    for(int i=1;i<=n;i++)
        scanf("%d", v+i);
    int t=elmaj(n,v),cnt=0;
    printf("%d", t);
    for(int i=1;i<=n;i++)
        if(v[i]==t) cnt++;
    printf(" %d", cnt);
    return 0;
}