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

Educational Codeforces Round 80 (Rated for Div. 2)

【A. Deadline】

【题目大意】

([]表示向上取整)

【解题思路】
在这里插入图片描述

【AC代码】

#include <bits/stdc++.h>
#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】

【题目大意】

【解题思路】
在这里插入图片描述

【AC代码】

#include <bits/stdc++.h>
#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)

发布了14 篇原创文章 · 获赞 0 · 访问量 232
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览