結果
問題 |
No.691 E869120 and Constructing Array 5
|
ユーザー |
![]() |
提出日時 | 2025-09-21 22:57:31 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,514 bytes |
コンパイル時間 | 2,129 ms |
コンパイル使用メモリ | 203,336 KB |
実行使用メモリ | 52,860 KB |
最終ジャッジ日時 | 2025-09-21 22:57:38 |
合計ジャッジ時間 | 7,031 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 1 |
other | TLE * 1 -- * 26 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:35:62: warning: ‘r’ may be used uninitialized [-Wmaybe-uninitialized] 35 | double r=x-sqrt(t[l].x)-sqrt(t[l].y)-sqrt(t[r].x)-sqrt(t[r].y); | ^ main.cpp:35:24: note: ‘r’ was declared here 35 | double r=x-sqrt(t[l].x)-sqrt(t[l].y)-sqrt(t[r].x)-sqrt(t[r].y); | ^ main.cpp:47:62: warning: ‘r’ may be used uninitialized [-Wmaybe-uninitialized] 47 | double r=x-sqrt(t[l].x)-sqrt(t[l].y)-sqrt(t[r].x)-sqrt(t[r].y); | ^ main.cpp:47:24: note: ‘r’ was declared here 47 | double r=x-sqrt(t[l].x)-sqrt(t[l].y)-sqrt(t[r].x)-sqrt(t[r].y); | ^
ソースコード
#include<bits/stdc++.h> #define int long long #define double long double #define N 1000005 using namespace std; int T,n,m; struct node{ int x,y; double d; bool operator<(const node&t)const{ return d<t.d; } }; vector<node> t; signed main(){ cin.tie(0)->sync_with_stdio(0); int T; cin>>T; for(int i=1000;i<=1900;i++){ for(int j=0;j<=900;j++){ double x=sqrt(i)+sqrt(j); t.push_back({i,j,modf(x,&x)}); } } sort(t.begin(),t.end()); // cout<<t.size()<<"\n"; while(T--){ double x,d,dd; cin>>x,d=modf(x,&dd); // cout<<fixed<<setprecision(12)<<d<<endl; int l=0,r=811800*d; while(l<r){ double tmp=d-t[l].d-t[r].d; if(fabs(tmp)<8e-11){ double r=x-sqrt(t[l].x)-sqrt(t[l].y)-sqrt(t[r].x)-sqrt(t[r].y); cout<<5<<" "<<t[l].x<<" "<<t[l].y<<" "<<t[r].x<<" "<<t[r].y<<" "<<(int)(r*r+0.5)<<"\n"; goto ok; } if(tmp<0) r--; else l++; } goto FAIL;ok:;continue;FAIL:; l=811800*d,r=811800; while(l<r){ double tmp=d-t[l].d-t[r].d; if(fabs(tmp)<8e-11){ double r=x-sqrt(t[l].x)-sqrt(t[l].y)-sqrt(t[r].x)-sqrt(t[r].y); cout<<5<<" "<<t[l].x<<" "<<t[l].y<<" "<<t[r].x<<" "<<t[r].y<<" "<<(int)(r*r+0.5)<<"\n"; break; } if(tmp<0) r--; else l++; } } }