Cod sursa(job #1129160)
| Utilizator | Data | 27 februarie 2014 20:29:41 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
using namespace std;
int n,k,v[1000005],i,tmp;
int main() {
ifstream f("elmaj.in");
ofstream g("elmaj.out");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
k=0;tmp=-1;
for(i=1;i<=n;i++)
if(k==0) {
tmp=v[i];
k++;
}
else
if(tmp==v[i])
k++;
else
k--;
k=0;
for(i=1;i<=n;i++)
if(tmp==v[i])
k++;
if(k>=n/2+1)
g<<tmp<<" "<<k<<"\n";
else
g<<"-1\n";
return 0;
}
