Submission #12148

#TimeUsernameProblemLanguageResultExecution timeMemory
12148gs13105Min-cost GCD (GA9_mcg)C++98
0 / 100
512 ms16724 KiB
#include <stdio.h>

int mem[2001][2001];

inline int mn(int a,int b)
{
	return a<b?a:b;
}

int main()
{
	int a,b,p,q,t,i,j,k;
	scanf("%d",&t);
	for(k=0;k<t;k++)
	{
		scanf("%d%d%d%d",&a,&b,&p,&q);
		if(t>100&&k)
		{
			printf("%d\n",mem[a][b]);
			continue;
		}
		for(j=1;j<=b;j++)
			for(i=1;i<=a;i++)
				mem[i][j]=mn(p+mem[j][i%j],q+(i>=j?mem[i-j][j]:mem[i][j-i]));
		printf("%d\n",mem[a][b]);
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...