답안 #853086

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
853086 2023-09-23T12:13:01 Z Youssif_Elkadi Balloons (CEOI11_bal) C++17
10 / 100
242 ms 4944 KB
#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 3, mod = 1e9 + 7, inf = 1e9 + 5;
double dist(double x1, double y1, double x2, double y2)
{
   return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
double gimr(double x1, double y1, double x2, double y2)
{
   double l = 0, r = y2, mid, ans = 0;
   while ((r - l) >= 1e-6)
   {
      mid = (l + r) / 2;
      if (dist(x1, y1, x2, mid) >= y1 + mid)
         ans = max(ans, mid), l = mid;
      else
         r = mid;
   }
   return ans;
}
bool sa7be(double x1, double y1, double x2, double y2)
{
   return (y1 + y2 > dist(x1, y1, x2, y2));
}
int main()
{
   ios_base::sync_with_stdio(0), cin.tie(NULL), cout.tie(NULL);
   int n;
   cin >> n;
   stack<pair<double, double>> st;
   for (int i = 0; i < n; i++)
   {
      double x, r;
      cin >> x >> r;
      while (true)
      {
         if (st.size() && sa7be(st.top().first, st.top().second, x, r))
            r = min(r, gimr(st.top().first, st.top().second, x, r));
         else
            break;
         if (r > st.top().second)
            st.pop();
         else
            break;
      }
      cout << fixed << setprecision(3) << r << "\n";
      st.push({x, r});
   }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 5th numbers differ - expected: '17.1630000000', found: '99.0000000000', error = '81.8370000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB 2 numbers
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 600 KB 3rd numbers differ - expected: '0.0420000000', found: '3.0000000000', error = '2.9580000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 348 KB 114th numbers differ - expected: '39.0180000000', found: '56.0000000000', error = '16.9820000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 23 ms 860 KB 196th numbers differ - expected: '100.7250000000', found: '111.0000000000', error = '10.2750000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 61 ms 1364 KB 13945th numbers differ - expected: '0.0140000000', found: '7.0000000000', error = '6.9860000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 137 ms 2596 KB 7236th numbers differ - expected: '0.0070000000', found: '7.0000000000', error = '6.9930000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 141 ms 3116 KB 4645th numbers differ - expected: '0.0260000000', found: '8.0000000000', error = '7.9740000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 189 ms 3996 KB 1734th numbers differ - expected: '1856.0220000000', found: '1865.0000000000', error = '8.9780000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 242 ms 4944 KB 2716th numbers differ - expected: '22.1690000000', found: '43.0000000000', error = '20.8310000000'
2 Halted 0 ms 0 KB -