結果

問題 No.638 Sum of "not power of 2"
ユーザー mencottonmencotton
提出日時 2018-01-26 22:40:02
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 24 ms / 1,000 ms
コード長 1,217 bytes
コンパイル時間 987 ms
コンパイル使用メモリ 111,668 KB
実行使用メモリ 17,536 KB
最終ジャッジ日時 2024-06-09 13:24:14
合計ジャッジ時間 1,998 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 23 ms
17,152 KB
testcase_01 AC 23 ms
17,152 KB
testcase_02 AC 23 ms
17,408 KB
testcase_03 AC 23 ms
17,280 KB
testcase_04 AC 24 ms
17,408 KB
testcase_05 AC 23 ms
17,280 KB
testcase_06 AC 24 ms
17,408 KB
testcase_07 AC 23 ms
17,536 KB
testcase_08 AC 24 ms
17,280 KB
testcase_09 AC 23 ms
17,408 KB
testcase_10 AC 24 ms
17,280 KB
testcase_11 AC 24 ms
17,152 KB
testcase_12 AC 24 ms
17,408 KB
testcase_13 AC 23 ms
17,408 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

using System;

namespace _638
{
    class Program
    {
        static void Main(string[] args)
        {
            long n = long.Parse(Console.ReadLine());
            long[] poweroftwo = new long[] { 1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912,1073741824,2147483648,4294967296,8589934592,17179869184,34359738368,68719476736,137438953472,274877906944,549755813888,1099511627776,2199023255552,4398046511104,8796093022208,17592186044416,35184372088832,70368744177664,140737488355328,281474976710656,562949953421312,1125899906842624,2251799813685248,4503599627370496,9007199254740992,18014398509481984,36028797018963968,72057594037927936,144115188075855872,288230376151711744,576460752303423488 };
            bool found = false;
            long i = 1;
            for (; i < n; i++)
            {
                if (Array.IndexOf(poweroftwo,i) < 0 && Array.IndexOf(poweroftwo,n - i) < 0)
                {
                    found = true;
                    break;
                }
            }
            Console.WriteLine(found ? i + " " + (n - i) : "-1");
        }
    }
}
0