银联极客挑战赛初赛(第一场)题解

A:

题面:

题解代码:

#include <bits/stdc++.h>

using namespace std;
const int N = 1e9;

int main()
{

    int t, res1 = 0, res2 = 0, res = 0;
    cin>> t;
    while(t--){
        int n, k, m;
        scanf("%d%d%d", &n, &k, &m);

        char str[110];
        for(int i = 0; i < n; i++){
            cin>> str[i];

        }

            int cnt = k;
            res1 = res2 = 0;
           /*
            for(int j = 0; j < n; j++){
                if(str[j] == '1') res1 ++;
                else  res2++;
            }

           res += res1 - res2;
           res = res * (m - 1);
           */
           res1 = res2 = 0;
            for(int j = 0; j < n; j++){
                if(str[j] == '1') res1 ++;
                else {
                   if(cnt) cnt--;
                   else res2++;
                }
            }

        res = (res1 - res2) * m;

        if(res <= 0) puts("0");
        else cout<< res << endl;
    }

    return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务