#include <iostream> #include <algorithm> using namespace std; int main() { long long h, w, n, wynik = 0, wx, p; cin >> w >> h >> n; long long tab[n]; for(int i = 0; i < n; i++){ cin >> tab[i]; } sort(tab, tab + n); if((w%tab[0] != 0) or (h%tab[0] != 0)){ cout << -1; return 0; } wynik = (w/tab[0])*(h/tab[0]); for(int i = 1; i < n; i++){ p = (w/tab[i])*(h/tab[i]); wynik -= p*(tab[i]/tab[i-1])*(tab[i]/tab[i-1]); wynik += p; } cout << wynik; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <iostream> #include <algorithm> using namespace std; int main() { long long h, w, n, wynik = 0, wx, p; cin >> w >> h >> n; long long tab[n]; for(int i = 0; i < n; i++){ cin >> tab[i]; } sort(tab, tab + n); if((w%tab[0] != 0) or (h%tab[0] != 0)){ cout << -1; return 0; } wynik = (w/tab[0])*(h/tab[0]); for(int i = 1; i < n; i++){ p = (w/tab[i])*(h/tab[i]); wynik -= p*(tab[i]/tab[i-1])*(tab[i]/tab[i-1]); wynik += p; } cout << wynik; } |