help
查看原帖
help
555381
zlttcl楼主2022/7/10 15:30

RT,WAon#5#14

//#pragma GCC optimize(3,"Ofast","inline")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll x,len,maxn = -1,a[130],ans;
string t;
inline ll read(){
    ll x = 0,m = 1;
    char ch = getchar();
    while(!isdigit(ch)){
	   if(ch=='-') m = -1;
	   ch = getchar();
	}
	while(isdigit(ch)){
	   x = x * 10 + ch - 48;
	   ch = getchar();
	}
	return x * m;
}
inline void write(ll x){
	if(x < 0){
	  putchar('-');
	  write(-x);
	  return;
	}
	if(x >= 10) write(x / 10);
	putchar(x % 10 + '0');
}
signed main(){
    cin >> t;
    x = read();
    ll sum = x - (len = t.size());
    if(sum <= 0){
    	write(sum);
    	return 0;
	}
    for(int i = 0; i < len; ++ i){
    	++a[int(t[i])];
	}
	for(int i = 1; i <= 128; ++ i){
		maxn = max(maxn,a[i]);
	}
	while(sum > 0){
		sum -= maxn;
		maxn *= 2;
		++ans;
	}
	write(ans);
    return 0;
}

2022/7/10 15:30
加载中...