2025年百度之星初赛第一场T4&T7

第 4 题

#include<iostream>
long long l[100010], r[100010], m, a, b, res;
int i, t;
void solve(long long a, long long b)
{
	if (a == b)
	{
		if (a == 1)
		{
			printf("0\n");
		}
		else
		{
			printf("infty\n");
		}
	}
	else
	{
		m = (a - 1) / (b - a);
		res = (m + 1) * (m + 2) / 2 * a - (m + 1) * m / 2 * b - m - 1;
		printf("%lld\n", res);
	}
};
int main()
{
	scanf("%d", &t);
	for (i = 0; i < t; i++)
	{
		scanf("%lld %lld", &l[i], &r[i]);
	}
	for (i = 0; i < t; i++)
	{
		solve(l[i], r[i]);
	}
	return 0;
}

第 7 题

#include<iostream>
long long s, m[200010], a, b;
int i, j, n, t;
long long mydiv(long long a, long long b)
{
	long long c = a + b;
	if (c % 2 != 0)
	{
		return (c + 1) / 2;
	}
	else
	{
		return c / 2;
	}
}
int main()
{
	scanf("%d", &t);
	for (i = 0; i < t; i++)
	{
		scanf("%d %lld", &n, &s);
		a = s;
		b = s;
		for (j = 0; j < n; j++)
		{
			scanf("%lld", &m[j]);
			if (m[j] > b)
			{
				b = mydiv(b, m[j]);
			}
			else
			{
				a = mydiv(a, m[j]);
			}
		}
		printf("%lld\n", b);
	}
	return 0;
}

posted on 2025-06-29 17:21  汐寻  阅读(43)  评论(0)    收藏  举报