This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub online-judge-tools/verification-helper
#define PROBLEM "https://yukicoder.me/problems/3872" #include <bits/stdc++.h> using namespace std; template<typename T> void drop(const T &x){cout<<x<<endl;exit(0);} int mgcd(int a,int b){ while(b){ int c=a%b; a=b; b=c; } return a; } signed main(){ int a,b; cin>>a>>b; if(mgcd(a,b)!=1) drop(-1); const int MAX = 1e4+10; vector<int> ok(MAX,1); for(int i=0;i<MAX;i++) for(int j=0;j<MAX;j++) if(i*a+j*b<MAX) ok[i*a+j*b]=0; int ans=0; for(int i=0;i<MAX;i++) ans+=ok[i]; cout<<ans<<endl; return 0; }
#line 1 "examples/debug/yukicoder.test.cpp" #define PROBLEM "https://yukicoder.me/problems/3872" #include <bits/stdc++.h> using namespace std; template<typename T> void drop(const T &x){cout<<x<<endl;exit(0);} int mgcd(int a,int b){ while(b){ int c=a%b; a=b; b=c; } return a; } signed main(){ int a,b; cin>>a>>b; if(mgcd(a,b)!=1) drop(-1); const int MAX = 1e4+10; vector<int> ok(MAX,1); for(int i=0;i<MAX;i++) for(int j=0;j<MAX;j++) if(i*a+j*b<MAX) ok[i*a+j*b]=0; int ans=0; for(int i=0;i<MAX;i++) ans+=ok[i]; cout<<ans<<endl; return 0; }