Cod sursa(job #3226393)

Utilizator popescu_georgePopescu George popescu_george Data 21 aprilie 2024 12:17:03
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
using namespace std;
ifstream F("elmaj.in");
ofstream G("elmaj.out");
#define Z 2048
int n,i,j,k,c,a[1000000],p=Z;
char s[Z];
char B()
{
    if(p==Z)
        F.read(s,Z),p=0;
    return s[p++];
}
int A()
{
    int n=0;
    char c;
    for(c=B();!isdigit(c);c=B());
    for(;isdigit(c);n=n*10+c-48,c=B());
    return n;
}
int main()
{
    for(n=A();i<n;a[i]=A(),!k?k=1,c=a[i]:c==a[i]?++k:--k,++i);
    for(i=0;i<n;j+=a[i++]==c);
    return j>n/2?G<<c<<' '<<j:G<<-1,0;
}