首页 > 其他 > 详细

Codeforces Round #570 (Div. 3)

时间:2019-06-27 23:18:35      阅读:105      评论:0      收藏:0      [点我收藏+]

小蒟蒻第一次参加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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!