对于最开始的时候,统计小写字母,大写字母有多少个,优先考虑把所有小写字母变成大写字母,此时已经消耗了一定数量的次数,如果还有剩余的次数,此时已经全部是大写了,剩余的次数都对一个字母循环操作,还剩偶数答案不变,否则答案减一。
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
int n,k;
小红拿到了一个仅由大小写字母构成的长度为n的字符串,他每次操作可以进行一次大小写变换,例如把'a'变成'A',或者把'Y'变成'y',等等。
小红希望经过正好k次操作之后,大写字母的数量尽可能多。
你能帮帮他吗?
只需要告诉他最终大写字母的数量即可。
第一行输入两个正整数n和k,用空格隔开。
第二行输入长度n为一个仅由大小写字母构成的字符串。 1≤n≤105
1≤k≤109
一个整数,代表经过正好k次操作后,最终大写字母的数量。
输入
1 3
A
输出
0
说明
只有一个字母可以变换。对该字符操作3次,A->a->A->a,最终的字符串是"a",因此没有大写字母。
输入
5 3
arBrg
输出
4
说明
把第一个、第二个、第四个字母进行变换后,字符串为"ARBRg",有四个大写字母。