█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 5816

Problema 0x31 - Sumarle un dígito a número muy grande

  • Autor: Sugaaron
  • Fecha: 2022-03-04 03:07:59 UTC (Hace alrededor de 2 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.099 s 10 KBi
#2
Correcto
0.085 s 35 KBi
#3
Correcto
0.051 s 13 KBi
#4
Correcto
0.049 s 13 KBi
#5
Incorrecto
0.046 s 13 KBi
#6
Incorrecto
0.049 s 14 KBi
#7
Incorrecto
0.062 s 14 KBi
#8
Incorrecto
0.049 s 13 KBi
#9
Incorrecto
0.062 s 14 KBi
#10
Incorrecto
0.048 s 14 KBi
#11
Correcto
0.06 s 14 KBi
#12
Incorrecto
0.048 s 13 KBi
#13
Correcto
0.117 s 14 KBi
#14
Correcto
0.061 s 14 KBi
#15
Correcto
0.046 s 14 KBi
#16
Correcto
0.093 s 20 KBi
#17
Correcto
0.062 s 14 KBi
#18
Correcto
0.062 s 14 KBi
#19
Correcto
0.089 s 52 KBi
#20
Correcto
0.062 s 14 KBi
#21
Incorrecto
0.107 s 10 KBi
#22
Incorrecto
0.05 s 13 KBi
#23
Incorrecto
0.058 s 14 KBi
#24
Correcto
0.052 s 14 KBi
#25
Incorrecto
0.052 s 13 KBi
#26
Correcto
0.105 s 11 KBi
#27
Incorrecto
0.055 s 14 KBi
#28
Correcto
0.084 s 10 KBi
#29
Correcto
0.05 s 14 KBi
#30
Correcto
0.045 s 14 KBi
#31
Incorrecto
0.087 s 10 KBi
#32
Correcto
0.102 s 15 KBi
#33
Correcto
0.087 s 10 KBi
#34
Incorrecto
0.075 s 10 KBi
#35
Correcto
0.043 s 14 KBi
#36
Incorrecto
0.086 s 17 KBi
#37
Correcto
0.093 s 17 KBi
#38
Correcto
0.12 s 11 KBi
#39
Correcto
0.121 s 11 KBi
#40
Correcto
0.067 s 15 KBi
#41
Correcto
0.109 s 18 KBi
#42
Correcto
0.046 s 14 KBi
Puntos totales: 65 / 100

Código

import java.io.*;
import java.util.StringTokenizer;

class Main
{
    public static void main(String[] args) throws IOException{
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        st = new StringTokenizer(bf.readLine());
        
        StringBuilder sb = new StringBuilder();
        sb.append(st.nextToken().toString());
        sb.reverse();
        st = new StringTokenizer(bf.readLine());
        int k = Integer.parseInt(st.nextToken());
        int x = 0;
        int clave = 0;
        
        while(x<sb.length()){
            int digito = Integer.parseInt(sb.substring(x,x+1));
            if(digito+k>9 && k>0){
                String valor = Integer.toString(digito+k);
                sb.replace(x,x+1,valor.substring(1,2));
                clave=1;
                k=0;
                x++;
                continue;
            }
            if(clave==1){
                if(digito<9){
                    sb.replace(x,x+1,Integer.toString(digito+1));  
                    break;
                }else{
                    sb.replace(x,x+1,"0");
                }
            }
            x++;
        }
        
        int p = 0;
        sb.reverse();
        for(int i=0;i<sb.length();i++){
            if(sb.substring(i,i+1).equals("0")){
                p++;
            }
        }
        
        if(p==sb.length()-1){
            System.out.print("1"+sb);
        }else{
            System.out.println(sb);   
        }
    
    }
}