比赛 防止浮躁的小练习v0.9 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 殉国 最终得分 100
用户昵称 Bravo ChaoS 运行时间 0.038 s
代码语言 C++ 内存使用 0.30 MiB
提交时间 2016-11-07 10:41:01
显示代码纯文本
  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. #include<iostream>
  5. using namespace std;
  6.  
  7. typedef long long ll;
  8.  
  9. ll a,b,c,x,y,ans=0,mn,mx;
  10.  
  11. void ex_gcd(ll a,ll b,ll& d,ll& x,ll& y)
  12. {
  13. if(!b) x=1,y=0,d=a;
  14. else {ex_gcd(b,a%b,d,y,x);y-=x*(a/b);}
  15. }
  16.  
  17. int main()
  18. {
  19. freopen("BlackHawk.in","r",stdin);
  20. freopen("BlackHawk.out","w",stdout);
  21. cin>>a>>b>>c;
  22. if(a<b) swap(a,b);//a>b
  23. ll d; ex_gcd(a,b,d,x,y);
  24. if(c%d) {printf("-1 -1\n0\n");return 0;}
  25. a/=d; b/=d; c/=d;
  26. x*=c; y*=c;
  27. y%=a;y=(y+a)%a;
  28. x=(c-b*y)/a;
  29. if(y<0 || x<0) {printf("-1 -1\n0\n");return 0;}
  30. mn=x+y;
  31. ll x2=x%b,y2=(c-a*x2)/b;
  32. mx=x2+y2;
  33. cout<<min(mn,mx)<<' '<<max(mn,mx)<<endl;
  34. cout<<abs(x2-x)/b+1;
  35. return 0;
  36. }
  37.  
  38.