제출 #1205016

#제출 시각아이디문제언어결과실행 시간메모리
1205016radaiosm7Balloons (CEOI11_bal)C++20
100 / 100
186 ms11432 KiB
#include <bits/stdc++.h>
using namespace std;
int n;
long double x[200005];
long double r[200005];
long double final_rad[200005];
vector<int> S;

long double nr(int i, int j) {
  return (x[i]-x[j])*(x[i]-x[j])/(4.0*final_rad[i]);
}

int main() {
  scanf("%d", &n);
  for (int i=1; i <= n; ++i) cin >> x[i] >> r[i];

  for (int i=1; i <= n; ++i) {
    final_rad[i] = r[i];

    while (!S.empty()) {
      final_rad[i] = min(nr(S.back(), i), final_rad[i]);
      if (final_rad[i] > final_rad[S.back()]) S.pop_back();
      else break;
    }

    S.push_back(i);
  }

  cout << fixed << setprecision(3);
  for (int i=1; i <= n; ++i) cout << final_rad[i] << '\n';
  return 0;
}

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

bal.cpp: In function 'int main()':
bal.cpp:14:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |   scanf("%d", &n);
      |   ~~~~~^~~~~~~~~~
#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...