제출 #671153

#제출 시각아이디문제언어결과실행 시간메모리
671153vjudge1Mobile (BOI12_mobile)C++11
0 / 100
1097 ms47524 KiB
#include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <vector> #include <map> #include <set> #include <stack> #include <queue> #include <algorithm> using namespace std; #define rep(i, a, b) for(int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() #define mp make_pair #define pb push_back #define f first #define s second #define lb lower_bound #define ub upper_bound using vi = vector<int>; using ll = long long; using pii = pair<ll, int>; const int maxn = 2e6 + 7; double x[maxn], y[maxn]; pair<double, int> pt[maxn]; double L; int n; bool check(double r) { int m = 0; rep(i, 0, n) { if (abs(y[i]) < r) { double dy = abs(y[i]); double tmp = r * r - dy * dy; double dx = sqrt(tmp); double x1 = x[i] - dx, x2 = x[i] + dx; pt[m].f = max(0.0, x1); pt[m].s = -1; m++; pt[m].f = min(L, x2); pt[m].s = 1; m++; } } if (m == 0) return false; sort(pt, pt + m); stack<double> st; double len = 0.0; rep(i, 0, m) { if (pt[i].s == -1) { st.push(pt[i].f); } else { double dis = pt[i].f - st.top(); st.pop(); if (st.empty()) { len += dis; } } } return len >= L; } int main() { //ios::sync_with_stdio(false); scanf("%d %lf", &n, &L); rep(i, 0, n) { scanf("%lf %lf", &x[i], &y[i]); } double l = 0.0, r = 1e4; rep(it, 0, 70) { double mid = l + (r - l) / 2; if (check(mid)) { r = mid; } else { l = mid; } } printf("%.6lf\n", l); }

컴파일 시 표준 에러 (stderr) 메시지

mobile.cpp: In function 'int main()':
mobile.cpp:64:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   64 |  scanf("%d %lf", &n, &L);
      |  ~~~~~^~~~~~~~~~~~~~~~~~
mobile.cpp:66:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   66 |   scanf("%lf %lf", &x[i], &y[i]);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...