Cod sursa(job #1130732)
Utilizator | Andrei Dumitrescu AndreiDumitrescu | Data | 28 februarie 2014 15:15:55 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 1.18 kb |
#include <fstream>
using namespace std;
int v[2000001];
int main()
{
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n , i , contor = 1, b = -1 , j;
f >> n ;
for(i = 1; i <= n ; ++i)
f >> v[i];
for(i = 1; i < n/2 ; ++i)
{
if(v[i] != -1)
{
j = i + 1;
while(j <= n)
{
if(v[i] != v[j])
{
//contor ++ ;
//v[j] = -1;
if(j == n / 2 && contor + n / 2 <(n / 2 + 1) )
j = n + 1;
++j;
}
else
{
contor++;
v[j] = -1;
j++;
}
}
if(contor >= (n / 2 + 1))
{
g << v[i] << " " << contor ;
b = 0 ;
contor = 1;
i = n + 1 ;
}
else
contor = 1;
}
}
if(b == -1)
g << b ;
}