码迷,mamicode.com
首页 > 其他好文 > 详细

cf/628/C

时间:2017-05-06 19:07:45      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:log   return   har   div   贪心   scanf   main   code   ret   

贪心水题

每个字符都往能够让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

标签:log   return   har   div   贪心   scanf   main   code   ret   

原文地址:http://www.cnblogs.com/maggch/p/6817543.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!