Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <map>
- using namespace std;
- int n,m;
- string num;
- int main(){
- while ( cin >> n ){
- map< string,int > major;
- bool gotAnswer = false;
- m = n;
- while( m-- ){
- cin >> num;
- major[ num ]++;
- if ( !gotAnswer ){
- if ( major[ num ] > n/2 ){
- cout << num << endl;
- gotAnswer = true;
- }
- }
- }
- }
- return 0;
- }
- /*
- Задача 6b.
- Да се намери мажорантът на множество от цели числа, като е известно, че такъв съществува.
- Дефиниция: Нека е дадено n-елементно мултимножество (т.е. множество, в което се допуска повторение на елементи).
- Ще казваме, че даден елемент на множеството е негов мажорант, ако се среща строго повече от n/2 пъти.
- Вход:
- На входа се задава числото n (n < 105) - брой на елементите на множеството и стойностите на самите елементи - цели
- числа в интервала [-1020, 1020] Входът съдържа много примери.
- Изход:
- За всеки пример на отделен ред се отпечатва цяло число - мажорантът на множеството.
- Пример:
- 6 6 6 6 6 2 2
- 6 1 1 1 1 1 1
- 15
- 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1
- 3
- 11111111111111111111 11111111111111111112 11111111111111111111
- Решение на примера:
- 6
- 1
- 1
- 11111111111111111111
- */
Advertisement
Add Comment
Please, Sign In to add comment