首页 > 其他 > 详细

Codeforces Round #507 (Div. 2, based on Olympiad of Metropolises)

时间:2020-01-31 19:07:56      阅读:63      评论:0      收藏:0      [点我收藏+]

题目链接:https://codeforces.com/contest/1040

A - Palindrome Dance

int x[1005];
void test_case() {
    int n, a, b;
    scanf("%d%d%d", &n, &a, &b);
    for(int i = 1; i <= n; ++i)
        scanf("%d", &x[i]);
    int sum = 0;
    for(int i = 1; i <= n / 2; ++i) {
        if(x[i] == 0) {
            if(x[n + 1 - i] == 1) {
                puts("-1");
                return;
            } else if(x[n + 1 - i] == 2)
                sum += a;
        } else if(x[i] == 1) {
            if(x[n + 1 - i] == 0) {
                puts("-1");
                return;
            } else if(x[n + 1 - i] == 2)
                sum += b;
        } else {
            if(x[n + 1 - i] == 0)
                sum += a;
            else if(x[n + 1 - i] == 1)
                sum += b;
            else
                sum += 2 * min(a, b);
        }
    }
    if(n % 2 == 1 && x[(n + 1) / 2] == 2)
        sum += min(a, b);
    printf("%d\n", sum);
}

B - Shashlik Cooking

void test_case() {
    int n, k;
    scanf("%d%d", &n, &k);
    int c = (n + (2 * k + 1 - 1)) / (2 * k + 1);
    int b;
    for(b = 1;; ++b) {
        if(b + k + (c - 1) * (2 * k + 1) >= n)
            break;
    }
    printf("%d\n", c);
    for(int i = 1; i <= c; ++i)
        printf("%d%c", b + (i - 1) * (2 * k + 1), " \n"[i == c]);
}

Codeforces Round #507 (Div. 2, based on Olympiad of Metropolises)

原文:https://www.cnblogs.com/KisekiPurin2019/p/12245836.html

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