În regatul de gheață Olaf este renumit pentru spectacolele sale de magie. La o reprezentaţie de magie, Olaf invită pe scenă N
persoane. Fiecare persoană îi şopteşte lui Olaf la ureche anul nașterii şi el calculează vârsta fiecărei persoane ca fiind diferența dintre 2017
și anul nașterii acesteia.
Printr-o magie, Olaf face să apară pe scenă, câte un om de zăpadă pentru fiecare copil de 12
ani care se află printre cele N
persoane.
Olaf asociază apoi pentru fiecare persoană de pe scenă un număr magic obținut prin însumarea tuturor cifrelor ce apar în anul nașterii persoanei respective.
Printr-o nouă magie, Olaf scoate din pălăria sa un buchet cu flori de gheață, buchet ce conține atâtea flori cât arată cel mai mare număr magic asociat de Olaf unei persoane. El dăruieşte acest buchet Elsei – prințesa regatului.
Scrieți un program care să determine:
a) Numărul oamenilor de zăpadă care au apărut pe scenă prin magia lui Olaf;
Exemplu
magie.in
5 1994 2005 1965 2005 2005
magie.out
3 23
Explicație
Pe scenă au fost invitate 5
persoane.Trei dintre persoane au vârsta de 12
ani ceea ce înseamnă că Olaf a făcut ca prin magie să apară pe scenă 3
oameni de zăpadă.
Pentru persoana născută în 1994
numărul magic este 1+9+9+4=23
.
Pentru persoana născută în 2005
numărul magic este 2+0+0+5=7
Pentru persoana născută în 1965
numărul magic este 1+9+6+5=21
Cel mai mare număr magic este 23
. Buchetul cu flori de gheață va conține 23
de flori.
#include <bits/stdc++.h> using namespace std; ifstream cin("magie.in"); ofstream cout("magie.out"); int sumcif(int n) { int s = 0; while(n != 0) { s += n % 10; n /= 10; } return s; } int main() { int n , x , cnt = 0 , maxi = 0; cin >> n; for(int i = 1 ; i <= n ; i++) { cin >> x; if(2017 - x == 12) cnt++; if(sumcif(x) > maxi) maxi = sumcif(x); } cout << cnt << '\n' << maxi; }