Submission #28143437


Source Code Expand

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;

namespace Tasks
{
    public class E
    {
        public static void Main(string[] args)
        {
            var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
            Console.SetOut(sw);
            Solve();
            Console.Out.Flush();
        }

        public static void Solve()
        {
            var X = Scanner.Scan<string>();
            var N = X.Length;
            var cum = new int[N + 1];
            for (var i = 0; i < N; i++)
            {
                cum[i + 1] = cum[i] + X[i] - '0';
            }

            var answer = new int[X.Length + 1];
            for (var i = N; i > 0; i--)
            {
                answer[i] = cum[i] % 10;
                cum[i - 1] += cum[i] / 10;
            }

            answer[0] += cum[0];
            if (answer[0] == 0)
            {
                Console.WriteLine(string.Join("", answer.Skip(1)));
            }
            else
            {
                Console.WriteLine(string.Join("", answer));
            }
        }

        public static class Scanner
        {
            public static T Scan<T>() where T : IConvertible => Convert<T>(ScanLine()[0]);
            public static (T1, T2) Scan<T1, T2>() where T1 : IConvertible where T2 : IConvertible
            {
                var line = ScanLine();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]));
            }
            public static (T1, T2, T3) Scan<T1, T2, T3>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible
            {
                var line = ScanLine();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]));
            }
            public static (T1, T2, T3, T4) Scan<T1, T2, T3, T4>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible
            {
                var line = ScanLine();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]));
            }
            public static (T1, T2, T3, T4, T5) Scan<T1, T2, T3, T4, T5>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible
            {
                var line = ScanLine();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]), Convert<T5>(line[4]));
            }
            public static (T1, T2, T3, T4, T5, T6) Scan<T1, T2, T3, T4, T5, T6>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible where T6 : IConvertible
            {
                var line = ScanLine();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]), Convert<T5>(line[4]), Convert<T6>(line[5]));
            }
            public static IEnumerable<T> ScanEnumerable<T>() where T : IConvertible => ScanLine().Select(Convert<T>);
            private static T Convert<T>(string value) where T : IConvertible => (T)System.Convert.ChangeType(value, typeof(T));
            private static string[] ScanLine() => Console.ReadLine()?.Trim().Split(' ') ?? Array.Empty<string>();
        }
    }
}

Submission Info

Submission Time
Task E - Σ[k=0..10^100]floor(X/10^k)
User AconCavy
Language C# (.NET Core 3.1.201)
Score 500
Code Size 3482 Byte
Status AC
Exec Time 115 ms
Memory 32880 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 19
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt
Case Name Status Exec Time Memory
hand_01.txt AC 85 ms 26592 KiB
hand_02.txt AC 113 ms 32696 KiB
hand_03.txt AC 88 ms 25920 KiB
hand_04.txt AC 107 ms 31960 KiB
sample_01.txt AC 89 ms 26664 KiB
sample_02.txt AC 83 ms 25888 KiB
sample_03.txt AC 81 ms 26640 KiB
test_01.txt AC 78 ms 26832 KiB
test_02.txt AC 103 ms 30640 KiB
test_03.txt AC 97 ms 30724 KiB
test_04.txt AC 104 ms 31784 KiB
test_05.txt AC 111 ms 32592 KiB
test_06.txt AC 104 ms 31468 KiB
test_07.txt AC 90 ms 28904 KiB
test_08.txt AC 89 ms 27228 KiB
test_09.txt AC 102 ms 31864 KiB
test_10.txt AC 115 ms 32880 KiB
test_11.txt AC 109 ms 32688 KiB
test_12.txt AC 102 ms 31828 KiB