#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; } |
English