1 solutions

  • 0
    @ 2025-11-5 20:16:34

    C :

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int i, j, p, t, n, max, l;
        char s[103];
        scanf("%d", &t);
        while(t--)
        {
            scanf("%s%d", s, &n);
            l = strlen(s);
            for(i=p=0; i<l-n; i++)
            {
                max = -1000;
                for(j=p; j<=n+i; j++)
                {
                    if(s[j]-'0' > max)
                    {
                        max = s[j]-'0';
                        p = j+1;
                    }
                }
                printf("%d", max);
            }
            puts("");
        }
        return 0;
    }
    
    

    C++ :

    #include <cstdio>
    #include <cstring>
    #include <cmath>
    
    using namespace std ;
    
    char str[1000] ;
    
    int f( int a , int b ) {
        char max = 0 ;
        int p = -1 ;
        for( int i = a ; i <= b ; i ++ ) {
            if( max < str[i] ) {
                max = str[i] ;
                p = i ;
            }
        }
        printf("%c" , max ) ;
        return p + 1 ;
    }
    
    int main() {
    
        int T ;
        scanf("%d" , &T ) ;
        while( T -- ) {
            int k ;
            scanf("%s%d" , str , &k ) ;
            int len = strlen( str ) ;
            int begin = 0 , end = k ;
            k = len - k ;
            for( int i = 0 ; i < k ; i ++ ) {
                begin = f( begin , end ) + 1 ;
                end += 1 ;
            }
            printf("\n") ;
        }
    
        return 0 ;
    }
    
    
    • 1

    Information

    ID
    20213
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By