結果
問題 |
No.300 平方数
|
ユーザー |
![]() |
提出日時 | 2015-11-13 23:25:45 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,135 bytes |
コンパイル時間 | 888 ms |
コンパイル使用メモリ | 82,296 KB |
実行使用メモリ | 13,756 KB |
最終ジャッジ日時 | 2024-09-13 15:20:25 |
合計ジャッジ時間 | 3,718 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 TLE * 1 -- * 32 |
ソースコード
#include <iostream> #include <cstdio> #include <cstdlib> #include <math.h> #include <vector> #include <queue> #include <algorithm> #include <sstream> #include <string> #include <map> #include <math.h> #include <time.h> using namespace std; #define FOR(I,N) for(int I = 0; I < (int)(N); I++) #define FIN(V) cout<<V<<endl #define pb push_back #define INF (1 << 30) #define ll long long typedef pair<int, int> P; string sValueOf(int v){stringstream ss;ss<<v;return ss.str();} int parseInt(string v){int i;stringstream ss(v);ss>>i;return i;} void fast_io() {cin.tie(0); ios::sync_with_stdio(false);} int main(){ int i,j; ll X,next; ll Y = 1; cin>>X; while(true){ next = X*Y; long long l = 0; long long r = 1000000000; bool can = false; ///long be = -1; map<ll,bool> memo; while(r>l){ ll tar = ((r-l)/2)+l; ///if(tar==be)break; if(memo[tar])break; memo[tar] = true; if(tar*tar==next){can = true;break;} if((tar*tar)>next){///越えてる r = tar; }else{///越えてない l = tar; } ///be = tar; } if(can)break; Y++; } ///cout<<clock()-s<<endl; cout<<Y<<endl; return 0; }