Cod sursa(job #2412103)

Utilizator VirtosuAlexandraVirtosu Alexandra Mihaela VirtosuAlexandra Data 21 aprilie 2019 17:27:36
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
long long int v[1000002];
long long int n,x, maj, nr;
int main()
{
   fin>>n;
   fin>>v[1];
   maj=v[1]; nr=1;
   for(int i=2; i<=n; i++)
   {
       fin>>v[i];
       if(v[i]==maj)nr++;
       else
       {
           if(nr==0)
           {
               nr=1;
               maj=v[i];
           }
           else
           {
               nr--;
           }
       }

   }
   nr=0;
   for(int i=1; i<=n; i++)
   {
       if(v[i]==maj)nr++;
   }
   if(nr>n/2)fout<<maj<<" "<<nr;
   else fout<<"-1";
    return 0;
}