#include<iostream>
using namespace std;
int main(){
    long long wymiarx;
    int wymiary;
    int n;
    cin >> wymiarx;
    cin >> wymiary;
    cin >> n;
    int kwadraty[n];
    for(int i = 0; i < n; i++){
        cin >> kwadraty[i];
    }
    int d;
    int miescisie = n - 1;
    long long wynik = 0;
    int wx;
    if(wymiarx % kwadraty[0] or wymiary % kwadraty[0]){
        cout << -1;
    }
    else{
    long long w = 0;
    int rozmiar;
    while(wymiarx and wymiary){
        if(wymiarx > wymiary){
            d = wymiarx;
            wymiarx = wymiary;
            wymiary = d;
        }
        for(int i = miescisie; i >= 0; i--){
            if(wymiarx >= kwadraty[i]){
                miescisie = i;
                rozmiar = kwadraty[miescisie];
                break;
            }
            
        }
        wx = wymiarx;
        w = 0;
        for(int i = miescisie; i >= 0; i--){
            w += (wx / kwadraty[i]) * (rozmiar / kwadraty[i]);
            wx -= kwadraty[i] * (wx / kwadraty[i]);
        }
        wynik += w * (wymiary / rozmiar);
        wymiary -= (wymiary/ rozmiar) * rozmiar;
    }
    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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52  | #include<iostream> using namespace std; int main(){ long long wymiarx; int wymiary; int n; cin >> wymiarx; cin >> wymiary; cin >> n; int kwadraty[n]; for(int i = 0; i < n; i++){ cin >> kwadraty[i]; } int d; int miescisie = n - 1; long long wynik = 0; int wx; if(wymiarx % kwadraty[0] or wymiary % kwadraty[0]){ cout << -1; } else{ long long w = 0; int rozmiar; while(wymiarx and wymiary){ if(wymiarx > wymiary){ d = wymiarx; wymiarx = wymiary; wymiary = d; } for(int i = miescisie; i >= 0; i--){ if(wymiarx >= kwadraty[i]){ miescisie = i; rozmiar = kwadraty[miescisie]; break; } } wx = wymiarx; w = 0; for(int i = miescisie; i >= 0; i--){ w += (wx / kwadraty[i]) * (rozmiar / kwadraty[i]); wx -= kwadraty[i] * (wx / kwadraty[i]); } wynik += w * (wymiary / rozmiar); wymiary -= (wymiary/ rozmiar) * rozmiar; } cout << wynik; } }  | 
            
        
                    English