# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|
1211536 | | Trn115 | 개미 (GA4_ant) | C++20 | | 618 ms | 1568 KiB |
#include <bits/stdc++.h>
#define double long double
#define int long long
#define fi first
#define se second
#define all(v) v.begin(), v.end()
using namespace std;
constexpr double eps = 1e-9;
inline double sqr(double x)
{
return x * x;
}
inline double cal(int y, int z, int x, double c)
{
return sqrt(sqr(y) + sqr(c)) + sqrt(sqr(x - c) + sqr(z));
}
inline int solve(int y, int z, int x)
{
double l = 0, r = x;
while (r - l > eps)
{
double dis = (r - l) / 3;
double mid1 = l + dis; double f1 = cal(y, z, x, mid1);
double mid2 = r - dis; double f2 = cal(y, z, x, mid2);
if (f1 > f2)
{
l = mid1;
}
else
{
r = mid2;
}
}
return (int) round(sqr(cal(y, z, x, l)));
}
signed main()
{
cin.tie(0)->sync_with_stdio(0);
if (fopen("source.inp", "r"))
{
freopen("source.inp", "r", stdin);
freopen("source.out", "w", stdout);
}
int t; cin >> t;
while (t--)
{
int a, b, c; cin >> a >> b >> c;
cout << min({solve(a, b, c), solve(a, c, b), solve(b, c, a)}) << "\n";
}
}
Compilation message (stderr)
ant.cpp: In function 'int main()':
ant.cpp:48:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
48 | freopen("source.inp", "r", stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
ant.cpp:49:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
49 | freopen("source.out", "w", stdout);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |