Pracownik z największym sumarycznym zyskiem

Zadanie 5 z 15 · rozdział 17Trudność: 1 z 3dictsumowanie

Treść zadania

Wczytaj n wpisów postaci pracownik zysk. Ten sam pracownik może mieć wiele wpisów. Zsumuj zyski każdego pracownika i wypisz pracownika z największą sumą.

Dane wejściowe

  • 1. linia: n
  • następnie n linii: imie_i_nazwisko zysk — identyfikator pracownika bez spacji (np. Jon_Snow) i liczba całkowita (może być ujemna — strata)

Dane wyjściowe

Jedna linia: identyfikator pracownika z największym sumarycznym zyskiem.

Ograniczenia

  • 1 ≤ n ≤ 100

Uwagi

  • Przy remisie wypisz tego pracownika, który wcześniej pojawił się na wejściu (jego pierwszy wpis jest wcześniej).

Przykład

Wejście
5
Barnaba_Barabash 120
Jon_Snow 100
Kira_Summer 300
Barnaba_Barabash 200
Bob_Marley 110
Wyjście
Barnaba_Barabash

Barnaba_Barabash ma łącznie $120 + 200 = 320$, czyli więcej niż Kira_Summer (300).

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 17

Zadania w tym rozdziale ćwiczą pracę ze słownikami (dict): tworzenie, dodawanie i usuwanie par, zliczanie wystąpień oraz grupowanie danych według klucza.
Każde zadanie (oraz każdy podpunkt) jest osobnym, niezależnym programem: czyta standardowe wejście (stdin) i wypisuje wynik na standardowe wyjście (stdout).

Konwencje wspólne:

  • Dane wczytuj dokładnie w kolejności podanej w sekcji Wejście; jeśli w jednej linii jest kilka wartości — rozbij ją po spacjach.
  • Jeśli wynikiem jest słownik, wypisz go tak, jak robi to print(slownik) w Pythonie: {klucz: wartość, klucz: wartość} — pary oddzielone przecinkiem i spacją, po dwukropku spacja, klucze i wartości napisowe w apostrofach (np. {'ala': 2, 'ma': 1}), liczby bez apostrofów (np. {1: 1, 2: 4}), pusty słownik to {}.
  • Kolejność par w wypisanym słowniku to kolejność, w jakiej klucze były do niego dodawane (tak zachowuje się słownik w Pythonie).
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”.

Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.

Python uruchomi się w przeglądarce przy pierwszym teście.

Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.

Testy

Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.

Test 1

Nie uruchomiono
Wejście
5
Ann 5
Bob 7
Ann 4
Bob 3
Cara 10
Oczekiwane wyjście
Bob

Test 2

Nie uruchomiono
Wejście
3
A 1
B 5
A 5
Oczekiwane wyjście
A

Test 3

Nie uruchomiono
Wejście
1
Solo 0
Oczekiwane wyjście
Solo

Test 4

Nie uruchomiono
Wejście
4
X -5
Y -3
X 4
Z -10
Oczekiwane wyjście
X

Test 5

Nie uruchomiono
Wejście
4
Ada 3
Ben 5
Cel 5
Ada 2
Oczekiwane wyjście
Ada

Test 6

Nie uruchomiono
Wejście
6
Jan_Kowalski 100
Anna_Nowak 250
Jan_Kowalski 100
Piotr_Zielinski 50
Jan_Kowalski 100
Anna_Nowak -20
Oczekiwane wyjście
Jan_Kowalski
Uruchom z własnymi danymi