Cod sursa(job #2312161)

Utilizator RaresChiperChiper Rares RaresChiper Data 4 ianuarie 2019 13:25:42
Problema Elementul majoritar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#define N 100005
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int a[N],n;
int main()
{
    int i,j,cand, vot;
    fin>>n;
    for(i=1; i<=n; i++)
        fin>>a[i];
        fin.close();
    /// ETAPA 1 - stabilim valoarea care are sanse sa fie majoritar
    cand=a[1];
    vot=1;
    for(i=2; i<=n; ++i)
        if(a[i]==cand)
            ++vot;
        else  if (vot>0)
            vot--;
        else
        {
            cand=a[i];
            vot=1;
        }
    ///ETAPA 2- verificam daca cand e element majoritar
    vot=0;
    for(i=1; i<=n; i++)
        if(a[i]==cand)
            ++vot;
    if(vot>n/2)
        fout<<"DA "<<cand<<"\n";
    else
        fout<<"NU"<< "\n";
        fout.close();
    return 0;
}