Pagini recente » Rezultatele filtrării | Cod sursa (job #1196042) | Rezultatele filtrării | Cod sursa (job #790223) | Cod sursa (job #793104)
Cod sursa(job #793104)
#include <fstream>
#include <map>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int main(){
int n;
in >> n;
int a[n];
for(int i = n; i; i--)
in >> a[n-i];
int cand = -1, k = 0;
for (int i = 0; i < n; i++)
if (k == 0) {
cand = a[i];
k = 1;
}
else
if (a[i] == cand)
// nu am putut imperechea pe votantul i şi astfel
// trebuie să marim numarul de votanti necuplati
k++;
else
// cuplam votantul i cu orice votant ce îl sustine pe cand si
// micsoram astfel numarul de votanti necuplati
k--;
if (cand < 0) {
out << -1;
return 0;
}
// verificare
int nr = 0;
for (int i = 0; i < n; i++) {
if (a[i] == cand)
nr++;
}
if (nr > n / 2)
out << cand << " " << nr;
else
out << -1;
return 0;
}