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

Envío 6481

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

  • Autor: Camilo15
  • Fecha: 2022-07-07 20:02:53 UTC (Hace casi 2 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.1 s 16 KBi
#2
Correcto
0.095 s 16 KBi
#3
Correcto
0.118 s 13 KBi
#4
Correcto
0.104 s 16 KBi
#5
Correcto
0.105 s 16 KBi
#6
Correcto
0.106 s 16 KBi
#7
Correcto
0.101 s 17 KBi
#8
Incorrecto
0.103 s 16 KBi
#9
Correcto
0.1 s 17 KBi
#10
Incorrecto
0.101 s 16 KBi
#11
Incorrecto
0.106 s 16 KBi
#12
Incorrecto
0.099 s 16 KBi
#13
Incorrecto
0.096 s 16 KBi
#14
Incorrecto
0.093 s 16 KBi
#15
Incorrecto
0.081 s 16 KBi
#16
Incorrecto
0.107 s 13 KBi
#17
Incorrecto
0.101 s 16 KBi
#18
Incorrecto
0.103 s 16 KBi
#19
Incorrecto
0.098 s 13 KBi
#20
Incorrecto
0.095 s 16 KBi
#21
Correcto
0.082 s 16 KBi
#22
Correcto
0.098 s 16 KBi
#23
Correcto
0.103 s 17 KBi
#24
Correcto
0.098 s 16 KBi
#25
Incorrecto
0.107 s 16 KBi
#26
Incorrecto
0.097 s 16 KBi
#27
Correcto
0.1 s 16 KBi
#28
Correcto
0.095 s 16 KBi
#29
Correcto
0.108 s 13 KBi
#30
Correcto
0.104 s 16 KBi
#31
Incorrecto
0.104 s 16 KBi
#32
Correcto
0.105 s 16 KBi
#33
Correcto
0.106 s 13 KBi
#34
Correcto
0.095 s 16 KBi
#35
Correcto
0.082 s 16 KBi
#36
Incorrecto
0.198 s 20 KBi
#37
Correcto
0.188 s 19 KBi
#38
Correcto
0.19 s 19 KBi
#39
Correcto
0.155 s 19 KBi
#40
Correcto
0.156 s 19 KBi
#41
Incorrecto
0.178 s 19 KBi
#42
Correcto
0.203 s 17 KBi
Puntos totales: 60 / 100

Código

import java.util.*;
import java.lang.*;
import java.io.*;

class Main {

    public static void main(String[] args) throws java.lang.Exception {
        Scanner sc = new Scanner(System.in);

        String number = sc.nextLine();
        String v[] = number.split("");
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < number.length(); i++) {
            list.add(Integer.parseInt(v[i]));
        }
        int digit = sc.nextInt();
        System.out.println(sumOne(list,digit));
    }

    public static String sumOne(ArrayList<Integer> list, int digit) {

        int sum = list.get(list.size()-1)+ digit;
        int carry = sum/10;
        list.set(list.size()-1,sum%10);
        for (int i = list.size()-2; i >= 0; i--) {
            sum = list.get(i)+carry;
             
            list.set(i,sum%10);
            carry=sum/10;
            if(carry==0) return listToString(list, carry);
        }
        
        return listToString(list, carry);
    }

    public static String listToString(ArrayList<Integer> list, int carry) {
        StringBuilder st = carry!=0 ? new StringBuilder(carry): new StringBuilder();
        for (int numb : list) {
            st.append(numb);
        }
        return st.toString();
    }
}