cf/628/C
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章