답안 #938839

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
938839 2024-03-05T15:55:20 Z mnbvcxz123 Balloons (CEOI11_bal) C++17
100 / 100
117 ms 11808 KB
    #include <bits/stdc++.h>
    #define int long long
    using namespace std;
    const int M=998244353;
     
    void solve(){
      int x;
      cin>>x;
      pair<int, int> arr[x];
      long double ans[x];
      for(int i=0; i<x; i++){
        cin>>arr[i].first>>arr[i].second;
      }
      stack<pair<int, long double>> s;
      for(int i=0; i<x; i++){
        long double r=arr[i].second;
        while(!s.empty()){
          r=min(r, (arr[i].first-s.top().first)*(arr[i].first-s.top().first)/(4*s.top().second));
          if(r>=s.top().second) s.pop();
          else break;
        }
        ans[i]=r;
        s.push({arr[i].first, ans[i]});
      }
      for(int i=0; i<x; i++) cout<<fixed<<setprecision(3)<<ans[i]<<'\n';
    }
     
    signed main(){
      //freopen("in", "r", stdin); //freopen("out", "w", stdout);
      cin.tie(0)->sync_with_stdio(0);
      int t=1; //cin>>t;
      while(t--) solve();
    }
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB 10 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB 2 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB 505 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 348 KB 2000 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 1376 KB 20000 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 3508 KB 50000 numbers
2 Correct 28 ms 3416 KB 49912 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 60 ms 5976 KB 100000 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 70 ms 6992 KB 115362 numbers
2 Correct 61 ms 7252 KB 119971 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 94 ms 9084 KB 154271 numbers
2 Correct 103 ms 11808 KB 200000 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 117 ms 10840 KB 200000 numbers
2 Correct 101 ms 11768 KB 199945 numbers