比赛 ZLXOI2015Day1 评测结果 AAAAAAAAAAWAAWWWWAWW
题目名称 殉国 最终得分 65
用户昵称 KZNS 运行时间 1.185 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-10-29 10:07:21
显示代码纯文本
// KZ's
#include <fstream>
using namespace std;
int gd(int a,int b) {
	if (!a)
		return b;
	return gd(b%a,a);
}
int main() {
	ifstream fin ("BlackHawk.in");
	ofstream fout ("BlackHawk.out");
	int a,b,c,x0=-1,y0=-1,x,y,mn,mx,s=1;
	fin>>a>>b>>c;
	int gccd=gd(a,b);
	if (c%gccd) {
		fout<<"-1 -1"<<endl<<0<<endl;
		return 0;
	}
	a/=gccd;
	b/=gccd;
	c/=gccd;
	if (b<a) {
		for (int i=0;c>=a*i;i++)
			if (!((c-a*i)%b)) {
				x0=i;
				y0=(c-a*i)/b;
				mn=mx=x0+y0;
				break;
			}
		if (x0<0||y0<0) {
			fout<<"-1 -1"<<endl<<0<<endl;
			return 0;
		}
		for (int t=1;y0>=a*t;t++) {
			x=x0+b*t;
			y=y0-a*t;
			mn=min(mn,x+y);
			mx=max(mx,x+y);
			s++;
		}
	}
	else {
		for (int i=0;c>=b*i;i++)
			if (!((c-b*i)%a)) {
				x0=(c-b*i)/a;
				y0=i;
				mn=mx=x0+y0;
				break;
			}
		if (x0<0||y0<0) {
			fout<<"-1 -1"<<endl<<0<<endl;
			return 0;
		}
		for (int t=1;x0>=b*t;t++) {
			x=x0-b*t;
			y=y0+a*t;
			mn=min(mn,x+y);
			mx=max(mx,x+y);
			s++;
		}
	}
	fout<<mn<<' '<<mx<<endl<<s<<endl;
}
// UBWH