Quick actions

cmd+k|ctrl+k

Navigation

Languages

UVA-11491

Snippet info

Language

C

Visibility

public

Author

hyrious

Created

2019-11-18T04:23:58Z

Updated

2019-11-18T04:23:58Z

#define _CRT_SECURE_NO_WARNINGS

#include <ctype.h>
#include <math.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAXN 100001
char str[MAXN];

void printStr(char *s, int len) {
    int i;
    printf("str = ");
    for (i = 0; i < len; ++i) {
        if (s[i] == '\0') putchar('x');
        else putchar(s[i]);
    }
    putchar('\n');
}

int main(void) {
    int n, d, i, j;
    while (scanf("%d%d", &n, &d), n) {
        scanf("%s", str);
        /* int len = strlen(str); */
        for (i = 0, j = 1; str[j];) {
            while (i >= 0 && str[j] && d && str[i] < str[j]) {
                str[d--, i--] = '\0';
                /* printStr(str, len); */
            }
            do {
                str[++i] = str[j++];
                /* printStr(str, len); */
            } while (str[j] && str[i] >= str[j]);
        }
        /* printStr(str, len); */
        str[i - d + 1] = '\0';
        printf("%s\n", str);
    }
    return 0;
}
INFO