Cod sursa(job #1231627)

Utilizator thinkphpAdrian Statescu thinkphp Data 21 septembrie 2014 10:18:04
Problema Elementul majoritar Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#define FIN "elmaj.in"
#define FOUT "elmaj.out"
#define MAXN 100001

using namespace std;

int n, vec[ MAXN ], contor[ MAXN ];

void read();
void solve();

int main() {

    read();
    solve();

  return(0);
}

void read() {

     ifstream i( FIN );

     i>>n;

     for(int j = 0; j < n; j++) {

         i>>vec[ j ];
     }
};

void solve() {

     ofstream o( FOUT );

     int i, 

         major_element, 

         found = 0;

     for(i = 0; i < n; i++) {

         contor[ vec[ i ] ]++;
     } 

     major_element = n / 2 + 1;

     for(i = 0; i < n; i++)

         if( contor[ vec [ i ] ] >= major_element)

                     o<<vec[i]<<" "<<contor[vec[ i ]], found = 1, contor[ vec[ i ] ] = 0;

     if( !found ) cout<<-1;  
};