#include <bits/stdc++.h>
using namespace std;
long long tab[35];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
long long N,M,k;
cin>>N>>M>>k;
long long x,y,s,a,b,C1,C2;
for(int i=k;i>0;i--){cin>>tab[i];}
C1=tab[1]*(M/tab[1]);
C2=tab[1]*(N/tab[1]);
y=C1;
x=C2;
s=(M/tab[1])*(N/tab[1]);
//cout<<tab[1]<<": "<<s<<endl;
for(int i=2;i<=k;i++){
a=(M-y)/tab[i];
b=(N-x)/tab[i];
s+=a*(x/tab[i]);
s+=b*(y/tab[i]);
s+=a*b;
//cout<<tab[i]<<": "<<a*(x/tab[i])+b*(y/tab[i])+a*b<<endl;
x+=b*tab[i];
y+=a*tab[i];
}
if(x==N&&y==M){cout<<s;}else cout<<-1;
return 0;}
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 | #include <bits/stdc++.h> using namespace std; long long tab[35]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); long long N,M,k; cin>>N>>M>>k; long long x,y,s,a,b,C1,C2; for(int i=k;i>0;i--){cin>>tab[i];} C1=tab[1]*(M/tab[1]); C2=tab[1]*(N/tab[1]); y=C1; x=C2; s=(M/tab[1])*(N/tab[1]); //cout<<tab[1]<<": "<<s<<endl; for(int i=2;i<=k;i++){ a=(M-y)/tab[i]; b=(N-x)/tab[i]; s+=a*(x/tab[i]); s+=b*(y/tab[i]); s+=a*b; //cout<<tab[i]<<": "<<a*(x/tab[i])+b*(y/tab[i])+a*b<<endl; x+=b*tab[i]; y+=a*tab[i]; } if(x==N&&y==M){cout<<s;}else cout<<-1; return 0;} |
English