Pagini recente » Cod sursa (job #290502) | Cod sursa (job #1282194) | Teorema chineza a resturilor - generalizari si aplicatii | Cod sursa (job #2033299) | Cod sursa (job #648734)
Cod sursa(job #648734)
#include<cstdio>
#include<vector>
using namespace std;
vector <int> v;
int main(){
freopen("elmaj.in", "r", stdin), freopen("elmaj.out", "w", stdout);
int n, i, x, candidat, sustinatori;
scanf("%d", &n);
for (i = 0; i < n; i++){
scanf("%d", &x);
v.push_back(x);
}
sustinatori = 0;
for (i = 0; i < n; i++)
if (sustinatori == 0){
candidat = v[i];
sustinatori++;
}
else
if (v[i] == candidat) sustinatori ++;
else sustinatori--;
//verific daca candidatul gasit este majoritar, sau doar are cele mai multe voturi
sustinatori = 0;
for (i = 0; i < n ; i++)
if (v[i] == candidat) sustinatori++;
if (sustinatori > n/2) printf("%d %d\n", candidat, sustinatori);
else printf("-1");
return 0;
}