結果
| 問題 |
No.2368 I love a square root of 2
|
| コンテスト | |
| ユーザー |
SSRS
|
| 提出日時 | 2023-06-30 22:26:56 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 54 ms / 2,000 ms |
| コード長 | 618 bytes |
| コンパイル時間 | 1,593 ms |
| コンパイル使用メモリ | 166,160 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-07-07 10:17:50 |
| 合計ジャッジ時間 | 2,406 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:32:23: warning: 'cb' may be used uninitialized [-Wmaybe-uninitialized]
32 | cout << a << ' ' << b << endl;
| ^
main.cpp:13:13: note: 'cb' was declared here
13 | int ca, cb;
| ^~
main.cpp:32:16: warning: 'ca' may be used uninitialized [-Wmaybe-uninitialized]
32 | cout << a << ' ' << b << endl;
| ^~~
main.cpp:13:9: note: 'ca' was declared here
13 | int ca, cb;
| ^~
ソースコード
#include <bits/stdc++.h>
using namespace std;
const double INF = 1000000;
int main(){
long long N;
cin >> N;
double tv = 0, fv = INF;
int a, b;
for (int i = 0; i < 100; i++){
double mid = (tv + fv) / 2;
double mx = -1;
long long cnt = 0;
int ca, cb;
for (int j = 0; j <= mid; j++){
int f = (mid - j) / sqrt(2);
cnt += f + 1;
double x = j + f * sqrt(2);
if (x > mx){
mx = x;
ca = j;
cb = f;
}
}
if (cnt <= N){
tv = mid;
a = ca;
b = cb;
} else {
fv = mid;
}
}
cout << a << ' ' << b << endl;
}
SSRS