結果
問題 | No.413 +5,000,000pts |
ユーザー | alpha_virginis |
提出日時 | 2016-08-13 00:06:29 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,102 bytes |
コンパイル時間 | 1,674 ms |
コンパイル使用メモリ | 166,728 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 16:02:45 |
合計ジャッジ時間 | 2,072 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ソースコード
#include <bits/stdc++.h> template<typename T> T in() { abort(); return T(); } template<> std::string in() { std::string str; std::cin >> str; return str; } template<> int in() { int x; scanf("%d", &x); return x; } template<typename T> void out(T x) { abort(); } template<> void out(const char* x) { printf("%s\n", x); } template<> void out(std::string x) { std::cout << x << std::endl; } template<> void out(int x) { printf("%d\n", x); } template<> void out(long x) { printf("%ld\n", x); } template<typename T> T pow(T x, long n) { T res = 1; T p = x; while( n != 0 ) { if( n & 0x01 ) res *= p; p *= p; n >>= 1; } return res; } int xs[3]; int n; int ys[128]; long f(long x) { return (long)((-1 + sqrt(1 + 4 * x)) / 2.0); } bool test(long x) { long t = f(x); if( not ( t * t + t <= x ) ) return false; long s = t + 1; if( s * s + s <= x ) return false; return true; } int main() { int count = 0; for(long x = (1LL << 61); ;++x) { if( not test(x) ) { out(x); count += 1; if( count == 100000 ) break; } } return 0; }