結果
問題 |
No.1747 Many Formulae 2
|
ユーザー |
|
提出日時 | 2024-12-22 13:29:41 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 612 bytes |
コンパイル時間 | 850 ms |
コンパイル使用メモリ | 79,616 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-12-22 13:29:43 |
合計ジャッジ時間 | 1,715 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 WA * 1 |
ソースコード
#include <iostream> #include <cstdint> using namespace std; int main() { cin.tie(nullptr); ios::sync_with_stdio(false); string S; cin >> S; uint16_t i, j, ans = 0; uint32_t k; uint64_t sum, cur; for (i = 0; i != UINT16_C(1) << (S.size() - 1); ++i) { cur = S[0] - '0', sum = 0; for (j = 0; j != S.size() - 1; ++j) { if ((i >> j) & 1) cur *= 10; else sum += cur, cur = 0; cur += S[j + 1] - '0'; } sum += cur; for (k = 2; static_cast<uint64_t>(k) * k <= sum; ++k) if (sum % k == 0) break; if (static_cast<uint64_t>(k) * k > sum) ++ans; } cout << ans << '\n'; return 0; }