結果
| 問題 |
No.691 E869120 and Constructing Array 5
|
| コンテスト | |
| ユーザー |
vjudge1
|
| 提出日時 | 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++;
}
}
}
vjudge1