钻a铜b 贪心 B站讲解视频https://www.bilibili.com/video/BV1sZ4y1g74R?p=2
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; typedef vector<int> vii; typedef vector<ll> vll; typedef pair<int,int> PII; #define so sizeof #define pb push_back #define fi first #define se second #define mp make_pair #define lb lower_bound #define ub upper_bound const db esp=1e-5; const int N=2e3+10,M=1e2+10,Max=1e5+5,inf=0x3f3f3f3f,mod=1e9+7; const ll INF=0x3f3f3f3f3f3f3f3f; class Solution { public: /** * * @param k int整型 表示最多的操作次数 * @param s string字符串 表示一个仅包含小写字母的字符串 * @return int整型 */ int a[N],cut[N],ans=0; int string2(int k, string s) { // write code here int n=s.size(); for(int i=0;i<s.size();i++) a[i]=s[i]-'a'; for(int c=0;c<26;c++){ for(int i=0;i<n;i++){ cut[i]=abs(c-a[i]); } sort(cut,cut+n); int res=n;int tk=k; for(int i=0;i<n;i++){ if(tk-cut[i]<0){ res=i; break; } tk-=cut[i]; } ans=max(ans,res); } return ans; } }T;