Cod sursa(job #1315001)
| Utilizator | Data | 12 ianuarie 2015 15:19:35 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
int a[1000000];
int main()
{
int i,n,x,cnt;
ofstream fout("elmaj.out");
ifstream fin("elmaj.in");
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
x=a[1];
cnt=1;
for(i=2;i<=n;i++)
if(x==a[i]) cnt++;
else {cnt--;if(cnt<0){cnt=1;x=a[i];};}
cnt=0;
for(i=1;i<=n;i++)
if(a[i]==x) cnt++;
if(cnt>n/2) fout<<x<<" "<<cnt;
fout.close();
return 0;
}
