Cod sursa(job #1256695)

Utilizator andreey_047Andrei Maxim andreey_047 Data 6 noiembrie 2014 19:27:56
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#define In "elmaj.in","r",stdin
#define Out "elmaj.out","w",stdout
#include <cstdio>
#define nmax 1000009
using namespace std;
int A[nmax],n;
inline int solve(){
 int cand,k,i,nr;
 cand=-1;k=0;
 for(i=2;i<=n;i++)
 if(k==0){cand=a[i];k=0;}
 else if(a[i]==cand) k++;
 else k--;
}
 if(cand < 0) return -1;
 for(i=1;i<=n;i++)
    if(a[i]==cand) nr++;
  cout<<nr<<' '<<cand<<'\n';
int main(){
    int i;
    freopen(In);
    freopen(Out);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&A[i]);
    solve();
    return 0;
}