Pagini recente » Cod sursa (job #74809) | Cod sursa (job #2760283) | Cod sursa (job #2898110) | Cod sursa (job #1525268) | Cod sursa (job #1526551)
#include <iostream>
#include <fstream>
#define nmax 1000004
using namespace std;
int V[nmax], n, nr=0, pretendent;
long long candidatu_invingator()
{
long long candidat; int k=0;
for(int i=1; i<=n; i++)
{
if(k==0){
candidat = V[i];
k = 1;
}else if (candidat==V[i]){
k++; // ca la parantezare, mai avem unu de cuplat
}else
k--; // inseamna ca-s diferite si putem face o pereche->mai putini cu 1 de cuplat
}
return candidat;
}
int main()
{
ifstream f("elmaj.in");
ofstream g("elmaj.out");
f >> n;
for(int i=1; i<=n; i++)
{
f >> V[i];
}
pretendent = candidatu_invingator();
for(int i=1; i<=n; i++)
{
if (V[i] == pretendent) nr++;
}
if (nr >= n/2+1){
g << pretendent << " " << nr;
}else{
g << -1;
}
f.close();
g.close();
return 0;
}