记录编号 |
216794 |
评测结果 |
APAAPAPPAAAAAAAAAAAA |
题目名称 |
[ZLXOI 2015]殉国 |
最终得分 |
90 |
用户昵称 |
农场主 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.004 s |
提交时间 |
2015-12-31 11:06:33 |
内存使用 |
0.29 MiB |
显示代码纯文本
#include<cstdio>
#include<cmath>
#define INF 100000000000000000
using namespace std;
typedef long long ll;
ll max(ll a,ll b){if (a>b) return a;else return b;}
void gcd(ll a,ll b,ll& d,ll& x,ll& y)
{
if (!b) {d=a;x=1;y=0;}
else {gcd(b,a%b,d,y,x);y-=x*(a/b);}
}
int main()
{
freopen("BlackHawk.in","r",stdin);
freopen("BlackHawk.out","w",stdout);
ll a,b,c;
ll d=10,x,y;
scanf("%lld%lld%lld",&a,&b,&c);
gcd(a,b,d,x,y);
if (!(c%d))
{
x=x*(c/d);
y=y*(c/d);
a=a/d; b=b/d;
ll k=0;
if (x<0) {k=(-x)/b; if((-x)%b) k++;}
if (y<0) {k=y/a;if (y%a) k--;}
x+=k*b;
y-=k*a;
ll l=0,r=0;
if (a>b){r=x+y;k=max(x/b,y/a);l=r+k*(b-a);}
else {l=x+y;k=max(x/b,y/a);r=l+k*(b-a);}
printf("%lld %lld\n",l,r);
printf("%lld",1+max(x/b,y/a));
}
else printf("-1 -1\n0");
return 0;
}