小蒟蒻第一次参加Codeforces的比赛……qaq
首先这题面是英语……看惯了中文题面的我不大习惯呀
特别是我英语还那么差(哭)
不管了题目反正能看懂个大概
A
诶这不就求一个位数和然后根据模数分类讨论吗
然而窝想得好像有些太简单啦qwq
于是就挂了第二个样例
哎推式子干什么反正暴力能跑过是不是
果断暴力
Accepted
#include <cstdio>
int main() {
int n, tmp;
int sum = 0;
scanf("%d", &n);
for(int i = n; ; i++) {
int tmp = i;
sum = 0;
while(tmp) {
sum += tmp % 10;
tmp /= 10;
}
if(sum % 4 == 0) {
printf("%d", i);
break;
}
}
return 0;
}
B
那啥?均衡价格?
首先判断无解的情况吧
如果最大值减最小值大于2k肯定无解
那剩下咋办?
二分?
然而不用这么麻烦……
题目好像说要求最大的价格
那答案就是 最小值+k 咯?
Accepted
#include <cstdio>
#include <algorithm>
using namespace std;
int a[110];
int main() {
int q;
scanf("%d", &q);
while(q--) {
int n, k;
scanf("%d%d", &n, &k);
for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
sort(a + 1, a + n + 1);
if(a[n] - a[1] > k + k) puts("-1");
else printf("%d\n", a[1] + k);
}
}
哦对了找最大值和最小值其实不用排序更快
但我太懒了就直接sort了
C
还是先判断-1的情况
如果一直充电都不能玩完就-1
剩下用数学方法简单搞一下……
也说不好……只可意会不可言传反正看代码自行理解呗
Accepted
#include <cstdio>
#include <iostream>
#define ll long long
using namespace std;
int main() {
int q;
scanf("%d", &q);
while(q--) {
ll a, b, k, n;
cin >> k >> n >> a >> b;
int tmp = (k - b * n - 1) / (a - b);
if(b * n >= k) puts("-1");
else {
cout << (n <= tmp ? n : tmp) << endl;
}
}
}
D
TLE
据说我这种方法有人卡常能过
于是我试着卡常……
卡常失败。
E/F/G/H
没把D卡过去
所以根本没看这两题
总结:我太菜了
最后奉上CodeForces账号:http://codeforces.com/profile/FruitCandy
Codeforces Round #570 (Div. 3)
原文:https://www.cnblogs.com/iycc/p/11099940.html