Cod sursa(job #2174586)

Utilizator ciprianprohozescuProhozescu Ciprian ciprianprohozescu Data 16 martie 2018 12:40:00
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;
FILE *fout=fopen("elmaj.out","w");

int n;
int poatefi;
int nrap;
int aparitii;
int x;

int main()
{
    FILE *fin=fopen("elmaj.in","r");
    fscanf(fin,"%d",&n);
    nrap++;
    fscanf(fin,"%d",&poatefi);
    for (int i=2;i<=n;i++)
    {
        fscanf(fin,"%d",&x);
        if (x!=poatefi)
        {
            nrap--;
            if (nrap<0)
            {
                nrap=1;
                poatefi=x;
            }
        }
        else
        nrap++;
    }
    fclose(fin);
    fin=fopen("elmaj.in","r");
    fscanf(fin,"%d",&n);
    for (int i=1;i<=n;i++)
    {
        fscanf(fin,"%d",&x);
        if (x==poatefi)
            aparitii++;
    }
    if (n/2<=aparitii)
        fprintf(fout,"%d %d\n",poatefi,aparitii);
        else fprintf(fout,"-1\n");
}