首页 > 其他 > 详细

CodeForces Round #553 Div2

时间:2019-04-19 19:03:46      阅读:229      评论:0      收藏:0      [点我收藏+]

A. Maxim and Biology

代码:

技术分享图片
#include <bits/stdc++.h>
using namespace std;

int N;
string s;
int minn = 0x3f3f3f3f;

int main() {
    scanf("%d", &N);
    cin >> s;
    for(int i = 0; i <= N - 4; i ++) {
        int cnt = 0;
        for(int j = i; j < i + 4; j ++) {
            if(j == i) {
                if(s[j] == Z) cnt += 1;
                else cnt += min(s[j] - A, (Z - s[j] + 1));
            }
            if(j == i + 1) cnt += min(abs(s[j] - C), (Z - s[j] + 3));
            if(j == i + 2) cnt += min(abs(s[j] - T), (s[j] - A + 7));
            if(j == i + 3) cnt += min(abs(s[j] - G), (Z - s[j] + 7));
        }
        minn = min(minn, cnt);
    }
    printf("%d\n", minn);
    return 0;
}

/*
9
AAABBBCCC
*/
View Code

C. Problem for Nazar

代码:

技术分享图片
#include <bits/stdc++.h>
using namespace std;

const int mod = 1e9 + 7;
long long l, r;

long long sum(long long x) {
    if(x <= 0) return 0;
    int flag = 1;
    long long t = 1;
    long long sum1 = 0, sum2 = 0;
    for(long long i = 0; i < x; ) {
        long long nx = min(i + t, x);
        if(flag) sum1 += (nx - i);
        else sum2 += (nx - i);

        t *= 2;
        i = nx;
        flag ^= 1;
    }
    long long ans = sum2 % mod * ((sum2 + 1) % mod) % mod + sum1 % mod * (sum1 % mod) % mod;
    return ans % mod;
}

int main() {
    cin >> l >> r;
    cout << (sum(r) - sum(l - 1) + mod) % mod << endl;

    return 0;
}
View Code

D. Stas and the Queue at the Buffet

代码:

技术分享图片
#include <bits/stdc++.h>
using namespace std;

const int maxn = 1e5 + 10;
int N;

struct Node {
    long long a;
    long long b;
}node[maxn];

bool cmp(const Node &n, const Node &m) {
    return (n.a - n.b) > (m.a - m.b);
}

int main() {
    scanf("%d", &N);
    for(int i = 1; i <= N; i ++)
        cin >> node[i].a >> node[i].b;

    sort(node + 1, node + 1 + N, cmp);
    long long ans = 0;
    for(int i = 1; i <= N; i ++)
        ans += (node[i].a * (i - 1) + node[i].b * (N - i));

    cout << ans << endl;

    return 0;
}
View Code

 

CodeForces Round #553 Div2

原文:https://www.cnblogs.com/zlrrrr/p/10737771.html

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