Educational Codeforces Round 80 (Rated for Div. 2) 题解

Educational Codeforces Round 80 (Rated for Div. 2)

【A. Deadline】

【题目大意】

([]表示向上取整)

【解题思路】
Educational Codeforces Round 80 (Rated for Div. 2) 题解_第1张图片

【AC代码】

#include 
#define max(a, b) ((a) > (b) ? (a) :(b))
#define min(a, b) ((a) < (b) ? (a) :(b))
#define Rep(i, n) for(register int i = 1;i <= (n); ++i)
using namespace std;
typedef long long ll;
int main() {
	int t;
	scanf("%d", &t);
	while (t--) {
		ll n, d;
		scanf("%lld%lld", &n, &d);
		if (d <= n) {
			puts("YES");
			continue;
		}
		ll temp = (n + 1) * (n + 1) - 4 * d;
		if (temp < 0) puts("NO");
		else {
			ll k = sqrt(temp);
			ll x1 = ceil((n - 1 - k) / 2);
			ll x2 = (n - 1 + k) / 2;
			ll i = x1;
			for (; i <= x2; ++i) {
				ll temp = i * i + (1 - n) * i + d - n;
				if (temp <= 0) {
					puts("YES");
					break;
				}
			}
			if (i > x2) puts("NO");
		}
	}
	return 0;
}

【B. Yet Another Meme Problem】

【题目大意】

【解题思路】
Educational Codeforces Round 80 (Rated for Div. 2) 题解_第2张图片

【AC代码】

#include 
#define max(a, b) ((a) > (b) ? (a) :(b))
#define min(a, b) ((a) < (b) ? (a) :(b))
#define Rep(i, n) for(register int i = 1;i <= (n); ++i)
using namespace std;
typedef long long ll;
ll c[] = { 0,9,99,999,9999,99999,999999,9999999,99999999,999999999,9999999999 };
int main() {
	int t;
	cin >> t;
	while (t--) {
		ll a, b;
		cin >> a >> b;
		ll i = 1;
		while (b >= c[i]) ++i;
		ll ans = (i - 1) * a;
		cout << ans << endl;
	}
	return 0;
}

(明天晚上更新C,D)

你可能感兴趣的:(codeforces)