记录编号 328600 评测结果 AAAAAAAAAA
题目名称 倒酒 最终得分 100
用户昵称 GravatarAntiLeaf 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2016-10-24 14:20:52 内存使用 0.29 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
void exgcd(LL,LL,LL&,LL&,LL&);
LL a,b,c,x,y;
int main(){
#define MINE
#ifdef MINE
	freopen("pour.in","r",stdin);
	freopen("pour.out","w",stdout);
#endif
	scanf("%lld%lld",&a,&b);
	exgcd(a,b,c,x,y);
	printf("%lld\n",c);
	x=-x;
	if(x<0){
		y+=(-x+b/c-1)/(b/c)*(a/c);
		x+=(-x+b/c-1)/(b/c)*(b/c);
	}
	printf("%lld %lld\n",x,y);
#ifndef MINE
	printf("\n-------------------------DONE-------------------------\n");
	for(;;);
#else
	fclose(stdin);
	fclose(stdout);
#endif
	return 0;
}
void exgcd(LL a,LL b,LL &c,LL &x,LL &y){
	if(b==0){
		c=a;
		x=1;
		y=0;
		return;
	}
	exgcd(b,a%b,c,x,y);
	LL tmp=x;
	x=y;
	y=tmp-(a/b)*y;
}