Submission #30469582


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 D
    {
        public static void Main()
        {
            var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
            Console.SetOut(sw);
            Solve();
            Console.Out.Flush();
        }

        public static void Solve()
        {
            var (N, M) = Scanner.Scan<int, int>();
            var A = Scanner.ScanEnumerable<long>().ToArray();
            var C = Scanner.ScanEnumerable<long>().ToArray();
            var B = new long[M + 1];

            for (var ci = N + M; ci >= N; ci--)
            {
                if (C[ci] == 0) continue;
                var b = C[ci] / A[N];
                var bi = ci - N;
                B[bi] += b;

                for (var ai = N; ai >= 0; ai--)
                {
                    C[ai + bi] -= A[ai] * b;
                }

            }

            // for (var ai = 0; ai <= N; ai++)
            // {
            //     for (var bi = 0; bi <= M; bi++)
            //     {
            //         var ci = ai + bi;
            //         C[ci] += A[ai] * B[bi];
            //     }
            // }
            Console.WriteLine(string.Join(" ", B));
        }

        public static class Scanner
        {
            public static string ScanLine() => Console.ReadLine()?.Trim() ?? string.Empty;
            public static string[] Scan() => ScanLine().Split(' ');
            public static T Scan<T>() where T : IConvertible => Convert<T>(Scan()[0]);
            public static (T1, T2) Scan<T1, T2>() where T1 : IConvertible where T2 : IConvertible
            {
                var line = Scan();
                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 = Scan();
                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 = Scan();
                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 = Scan();
                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 = Scan();
                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 => Scan().Select(Convert<T>);
            private static T Convert<T>(string value) where T : IConvertible => (T)System.Convert.ChangeType(value, typeof(T));
        }
    }
}

Submission Info

Submission Time
Task D - Polynomial division
User AconCavy
Language C# (.NET Core 3.1.201)
Score 400
Code Size 3669 Byte
Status AC
Exec Time 92 ms
Memory 28708 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 20
Set Name Test Cases
Sample example_00.txt, example_01.txt
All example_00.txt, example_01.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt
Case Name Status Exec Time Memory
example_00.txt AC 82 ms 27876 KiB
example_01.txt AC 91 ms 27804 KiB
hand_00.txt AC 79 ms 28292 KiB
hand_01.txt AC 83 ms 28244 KiB
hand_02.txt AC 79 ms 28116 KiB
hand_03.txt AC 81 ms 27828 KiB
hand_04.txt AC 86 ms 28364 KiB
hand_05.txt AC 88 ms 27872 KiB
random_00.txt AC 83 ms 28100 KiB
random_01.txt AC 77 ms 28368 KiB
random_02.txt AC 92 ms 28696 KiB
random_03.txt AC 83 ms 28368 KiB
random_04.txt AC 82 ms 28168 KiB
random_05.txt AC 86 ms 28708 KiB
random_06.txt AC 82 ms 28280 KiB
random_07.txt AC 80 ms 28428 KiB
random_08.txt AC 83 ms 28548 KiB
random_09.txt AC 84 ms 28472 KiB
random_10.txt AC 86 ms 28128 KiB
random_11.txt AC 81 ms 28256 KiB