結果
問題 | No.688 E869120 and Constructing Array 2 |
ユーザー |
![]() |
提出日時 | 2018-05-19 00:43:49 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,130 bytes |
コンパイル時間 | 491 ms |
コンパイル使用メモリ | 57,444 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-07 13:45:03 |
合計ジャッジ時間 | 1,603 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 7 WA * 3 |
ソースコード
#include<iostream> #include <algorithm> #include<string> using namespace std; int main() { long a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, ans = 0; int k; cin >> k; if (k==0) { cout << "1"<<endl; cout << "0"; cout << endl; return 0; } while (k > 10000&&k%2==0) { k /= 2; h++; } for ( a = 2; a <= 30; a++) { b = a - 1; if (k * 2 / (a*b) == 1&& k * 2 % (a*b) == 0) { for (c = 0; c < a; c++) { cout << "1 "; } cout << endl; return 0; } } for ( a = 1; a <= 30; a++) { if (a>1) { b = a - 1; } else { b = 1; } if (k%(a*b)==0) { c = k / (a*b); if (!(c & (c - 1))) { d = 0; while (c != 1) { d++; c /= 2; } if (a == 1) { a++; d--; } if (d==1) { } cout << d + a + 1+h << endl; if (a == 2) { } for (b = 0; b <= d; b++) { cout << "0 "; } for ( b = 0; b < h; b++) { cout << "0 "; } for (b = 0; b < a; b++) { cout << "1 "; } cout << endl; return 0; } } } return 0; }