結果
問題 | No.2479 Sum of Squares |
ユーザー |
![]() |
提出日時 | 2023-09-22 22:41:16 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 692 bytes |
コンパイル時間 | 2,380 ms |
コンパイル使用メモリ | 163,784 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-08 13:26:06 |
合計ジャッジ時間 | 3,226 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef unsigned long long ull; typedef long double ld; int dx[8] = { 1, 0, -1, 0, 1, 1, -1, -1 }, dy[8] = { 0, 1, 0, -1, 1, -1, 1, -1 }; const long long mod = 998244353; const ll inf = 1LL << 60; const int INF = 5e8; ull isqrt(ull N) { ll sqrtN = sqrt(N) - 1; while (sqrtN + 1 <= N / (sqrtN + 1)) sqrtN++; return sqrtN; } int main() { ll s; cin >> s; ll S = s; int cnt = 0; while (s) { ll n = isqrt(s); s -= n * n; cnt++; } cout << cnt << endl; while (S) { ll n = isqrt(S); S -= n * n; cout << n * n << endl; } }