結果
問題 | No.2479 Sum of Squares |
ユーザー |
![]() |
提出日時 | 2023-09-22 21:30:28 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 2,883 bytes |
コンパイル時間 | 3,964 ms |
コンパイル使用メモリ | 230,764 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-08 12:11:14 |
合計ジャッジ時間 | 4,464 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>using namespace std;#define lli long long int#define REP(i,s,n) for(lli i=s;i<n;i++)#define INF (1LL<<62)#define DEBUG 0#define mp(a,b) make_pair(a,b)#define SORT(V) sort(V.begin(),V.end())#define PI (3.141592653589794)#define TO_STRING(VariableName) # VariableName#define LOG1(x) if(DEBUG)cout<<TO_STRING(x)<<"="<<x<<" "<<endl;#define LOG2(x,y) if(DEBUG)cout<<TO_STRING(x)<<"="<<x<<" "<<TO_STRING(y)<<"="<<y<<endl;#define LOG3(x,y,z) if(DEBUG)cout<<TO_STRING(x)<<"="<<x<<" "<<TO_STRING(y)<<"="<<y<<" "<<TO_STRING(z)<<"="<<z<<endl;#define LOG4(w,x,y,z) if(DEBUG)cout<<TO_STRING(w)<<"="<<w<<" "<<TO_STRING(x)<<"="<<x<<" "<<TO_STRING(y)<<"="<<y<<" "<<TO_STRING(z)<<"="<<z<<endl;#define LOG5(w,x,y,z,a) if(DEBUG)cout<<TO_STRING(w)<<"="<<w<<" "<<TO_STRING(x)<<"="<<x<<" "<<TO_STRING(y)<<"="<<y<<" "<<TO_STRING(z)<<"="<<z<<" "<<TO_STRING(a)<<"="<<a<<endl;#define LOG6(w,x,y,z,a,b) if(DEBUG)cout<<TO_STRING(w)<<"="<<w<<" "<<TO_STRING(x)<<"="<<x<<" "<<TO_STRING(y)<<"="<<y<<" "<<TO_STRING(z)<<"="<<z<<" "<<TO_STRING(a)<<"="<<a<<" "<<TO_STRING(b)<<"="<<b<<endl;#define overload6(a,b,c,d,e,f,g,...) g#define LOG(...) overload6(__VA_ARGS__,LOG6,LOG5,LOG4,LOG3,LOG2,LOG1)(__VA_ARGS__)template<class T>bool chmax(T & a, const T & b) { if (a < b) { a = b; return 1; } return 0; }template<class T>bool chmin(T& a, const T& b) { if (b < a) { a = b; return 1; } return 0; }mt19937 engine;std::chrono::system_clock::time_point start, endTime;std::ostream &operator<<(std::ostream &dest, __int128_t value) {std::ostream::sentry s(dest);if (s) {__uint128_t tmp = value < 0 ? -value : value;char buffer[128];char *d = std::end(buffer);do {--d;*d = "0123456789"[tmp % 10];tmp /= 10;} while (tmp != 0);if (value < 0) {--d;*d = '-';}int len = std::end(buffer) - d;if (dest.rdbuf()->sputn(d, len) != len) {dest.setstate(std::ios_base::badbit);}}return dest;}__int128 parse(string &s) {__int128 ret = 0;for (int i = 0; i < s.length(); i++){if ('0' <= s[i] && s[i] <= '9'){ret = 10 * ret + s[i] - '0';}}return ret;}void solve(){lli n;cin>>n;lli baseN = n;vector<lli> ans;while(true){lli now = (lli)(sqrtl(n));now *= now;n -= now;ans.push_back(now);if(n==0)break;}lli sum = 0;cout<<ans.size()<<endl;for(auto e:ans){cout<<e<<" ";sum+=e;}cout<<endl;assert(baseN == sum);}// Generated by 2.11.0 https://github.com/kyuridenamida/atcoder-tools (tips: You use the default template now. You can remove this line by usingyour custom template)int main(){lli n;//cin>>n;n=1;std::random_device seed_gen;std::mt19937 engine(seed_gen());while(n--)solve();return 0;}