QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#745025 | #9746. 平方根 | ggghe | Compile Error | / | / | C++20 | 826b | 2024-11-14 01:28:43 | 2024-11-14 01:28:43 |
Judging History
This is the latest submission verdict.
- [2024-11-14 01:28:43]
- Judged
- Verdict: Compile Error
- Time: 0ms
- Memory: 0kb
- [2024-11-14 01:28:43]
- Submitted
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 1'000'010;
long double dp[N];
int main() {
string s;
cin >> s;
long double ans = 0.L;
dp[1] = 1.0;
for (int i = 1; i < N; ++i) {
dp[i] = max(sqrt(i * 1.0), dp[i]);
if (i * 2 + 1 < N) {
dp[i * 2 + 1] = max(dp[i * 2 + 1], 2.L * dp[i]);
}
if (i * 2 < N) {
dp[i * 2] = max(dp[i * 2], dp[i] + dp[i - 1]);
}
}
int n = s.length();
int i = 0;
while (i < n) {
if (s[i] == '0') {
i++;
continue;
}
int st = i;
while (i < n && s[i] == '1') {
i++;
}
int len = i - st;
ans += dp[len];
}
printf("%.15f\n", ans);
return 0;
}
详细
answer.code: In function ‘int main()’: answer.code:15:20: error: no matching function for call to ‘max(double, long double&)’ 15 | dp[i] = max(sqrt(i * 1.0), dp[i]); | ~~~^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/13/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51, from answer.code:1: /usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: ‘template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)’ 257 | max(const _Tp& __a, const _Tp& __b) | ^~~ /usr/include/c++/13/bits/stl_algobase.h:257:5: note: template argument deduction/substitution failed: answer.code:15:20: note: deduced conflicting types for parameter ‘const _Tp’ (‘double’ and ‘long double’) 15 | dp[i] = max(sqrt(i * 1.0), dp[i]); | ~~~^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)’ 303 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) | ^~~ /usr/include/c++/13/bits/stl_algobase.h:303:5: note: template argument deduction/substitution failed: answer.code:15:20: note: deduced conflicting types for parameter ‘const _Tp’ (‘double’ and ‘long double’) 15 | dp[i] = max(sqrt(i * 1.0), dp[i]); | ~~~^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/13/algorithm:61: /usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: ‘template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)’ 5795 | max(initializer_list<_Tp> __l) | ^~~ /usr/include/c++/13/bits/stl_algo.h:5795:5: note: template argument deduction/substitution failed: answer.code:15:20: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘double’ 15 | dp[i] = max(sqrt(i * 1.0), dp[i]); | ~~~^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)’ 5805 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: answer.code:15:20: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘double’ 15 | dp[i] = max(sqrt(i * 1.0), dp[i]); | ~~~^~~~~~~~~~~~~~~~~~~~~~ answer.code:40:17: warning: format ‘%f’ expects argument of type ‘double’, but argument 2 has type ‘long double’ [-Wformat=] 40 | printf("%.15f\n", ans); | ~~~~^ ~~~ | | | | | long double | double | %.15Lf