Cod sursa(job #3358303)
| Utilizator | Data | 16 iunie 2026 08:42:00 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int v[1000005];
int main()
{
int n;
f >> n;
int cand = -1, nr = 0;
for(int i = 1; i <= n; i++)
{
f >> v[i];
if(nr == 0)
{
cand = v[i];
nr = 1;
}
else
if(v[i] == cand)
nr++;
else
nr--;
}
nr = 0;
for(int i = 1; i <= n; i++)
if(v[i] == cand)
nr++;
if(nr >= n / 2 + 1)
g << cand << " " << nr << "\n";
else
g << "-1\n";
f.close();
g.close();
return 0;
}
