Ejemplo n.º 1
0
        public void Solve()
        {
            var n = sc.Integer();
            var A = sc.Long();
            var B = sc.Long();
            var a = new BigInteger[n];

            for (int i = 0; i < n; i++)
            {
                a[i] = sc.Long();
            }
            Array.Sort(a);
            if (A == 1)
            {
                for (int i = 0; i < n; i++)
                {
                    IO.Printer.Out.WriteLine(a[i]);
                }
                return;
            }
            while (B > 0)
            {
                if (a[n - 1] < a[0] * A)
                {
                    break;
                }
                a[0] *= A;
                Array.Sort(a);
                Debug.WriteLine(a.AsJoinedString());
                B--;
            }
            Debug.WriteLine(B);
            var k   = B / n;
            var rem = B % n;

            while (rem > 0)
            {
                a[0] *= A;
                Array.Sort(a);
                rem--;
            }
            for (int i = 0; i < n; i++)
            {
                var v = a[i] % 1000000007;
                v = (v * ModInteger.Pow(A, k).num) % 1000000007;
                IO.Printer.Out.WriteLine(v);
            }
        }