Cod sursa(job #1364751)

Utilizator redducks100Andronache Simone redducks100 Data 27 februarie 2015 20:02:51
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

int v[3000000];

int main()
{
    int n,nr,i,maj;
    f>>n;
    for(i=0;i<n;i++)
        f>>v[i];

    maj = v[0];
    nr=1;
    for(i=1;i<n;i++)
        if(v[i] == maj)
            nr++;
        else
        {
            nr--;
            if(nr<0){
                maj=v[i];
            nr=1;
            }
        }
    nr=0;
    for(i=0;i<n;i++)
        if(v[i]==maj)
            nr++;

    if(nr > n /2)
        g<<maj<<" "<<nr<<"\n";
    else
        g<<"-1/n";
    return 0;

}