首页 > 代码库 > cf/628/C
cf/628/C
贪心水题
每个字符都往能够让dist最大的方向变.
#include <cstdio> char a[100010]; int main(){ int n,k; scanf("%d %d",&n,&k); scanf("%s",a); int sum=k; for(int i=0;i<n;i++){ if(a[i]-‘a‘>‘z‘-a[i]){ if(sum<=a[i]-‘a‘){ a[i]=a[i]-sum; sum=0; break; }else{ sum-=(a[i]-‘a‘); a[i]=‘a‘; } }else{ if(sum<=‘z‘-a[i]){ a[i]=a[i]+sum; sum=0; break; }else{ sum-=(‘z‘-a[i]); a[i]=‘z‘; } } } if(sum){ printf("-1"); }else{ printf("%s",a); } scanf("%d %d",&n,&k); return 0; }
cf/628/C
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。