Submission #42208144


Source Code Expand

#include<cstdio>
#include<cstring>
#define fep(i,x,y) for(int i=x;i<=y;i++)
using namespace std;
typedef long long LL;
LL A,B;
LL sta[110];int top;
template<class T>
inline T mymin(T x,T y){return x<y?x:y;}
int main(){
	scanf("%lld%lld",&A,&B);
	if(A==B) {
		printf("1\n");
		return 0;
	}
	if(A<B)A^=B^=A^=B;
	LL C=A-B;
	for(LL i=2;i*i<=C;i++){
		if(C%i==0){
			sta[++top]=i;
			C/=i;
		}
	}
	if(C>1)sta[++top]=C;
	LL ans=0;
	while(A && B){
		LL mincot=B;
		fep(i,1,top){
			if(A%sta[i]==B%sta[i]){
				mincot=mymin(mincot,B%sta[i]);
			}
		}
		A-=mincot;B-=mincot;ans+=mincot;
		if(!B)break;
		fep(i,1,top){
			while(A%sta[i]==0 && B%sta[i]==0)A/=sta[i],B/=sta[i];
		}
	}
	printf("%lld\n",ans);
	return 0;
}

Submission Info

Submission Time
Task B - GCD Subtraction
User juruozjj
Language C++ (GCC 9.2.1)
Score 400
Code Size 748 Byte
Status AC
Exec Time 12 ms
Memory 1696 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:11:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   11 |  scanf("%lld%lld",&A,&B);
      |  ~~~~~^~~~~~~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 41
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 02_same_00.txt, 02_same_01.txt, 02_same_02.txt, 02_same_03.txt, 03_max_00.txt, 03_max_01.txt, 03_max_02.txt, 04_max2_00.txt, 04_max2_01.txt, 04_max2_02.txt, 04_max2_03.txt, 04_max2_04.txt, 04_max2_05.txt, 04_max2_06.txt, 04_max2_07.txt, 04_max2_08.txt, 04_max2_09.txt, 05_max3_00.txt, 05_max3_01.txt, 05_max3_02.txt, 05_max3_03.txt, 05_max3_04.txt, 05_max3_05.txt, 05_max3_06.txt, 05_max3_07.txt, 05_max3_08.txt, 05_max3_09.txt, 05_max3_10.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 10 ms 1612 KiB
00_sample_01.txt AC 1 ms 1592 KiB
00_sample_02.txt AC 2 ms 1688 KiB
01_rnd_00.txt AC 1 ms 1696 KiB
01_rnd_01.txt AC 1 ms 1620 KiB
01_rnd_02.txt AC 2 ms 1608 KiB
01_rnd_03.txt AC 2 ms 1608 KiB
01_rnd_04.txt AC 2 ms 1624 KiB
01_rnd_05.txt AC 1 ms 1696 KiB
01_rnd_06.txt AC 1 ms 1624 KiB
01_rnd_07.txt AC 2 ms 1612 KiB
01_rnd_08.txt AC 2 ms 1652 KiB
01_rnd_09.txt AC 1 ms 1604 KiB
02_same_00.txt AC 1 ms 1588 KiB
02_same_01.txt AC 1 ms 1604 KiB
02_same_02.txt AC 1 ms 1556 KiB
02_same_03.txt AC 1 ms 1612 KiB
03_max_00.txt AC 2 ms 1600 KiB
03_max_01.txt AC 2 ms 1604 KiB
03_max_02.txt AC 1 ms 1612 KiB
04_max2_00.txt AC 1 ms 1692 KiB
04_max2_01.txt AC 1 ms 1616 KiB
04_max2_02.txt AC 1 ms 1692 KiB
04_max2_03.txt AC 1 ms 1648 KiB
04_max2_04.txt AC 1 ms 1680 KiB
04_max2_05.txt AC 1 ms 1692 KiB
04_max2_06.txt AC 2 ms 1696 KiB
04_max2_07.txt AC 3 ms 1604 KiB
04_max2_08.txt AC 7 ms 1644 KiB
04_max2_09.txt AC 12 ms 1692 KiB
05_max3_00.txt AC 2 ms 1608 KiB
05_max3_01.txt AC 1 ms 1692 KiB
05_max3_02.txt AC 2 ms 1608 KiB
05_max3_03.txt AC 2 ms 1664 KiB
05_max3_04.txt AC 1 ms 1648 KiB
05_max3_05.txt AC 3 ms 1660 KiB
05_max3_06.txt AC 1 ms 1624 KiB
05_max3_07.txt AC 1 ms 1656 KiB
05_max3_08.txt AC 1 ms 1644 KiB
05_max3_09.txt AC 2 ms 1608 KiB
05_max3_10.txt AC 2 ms 1696 KiB