Submission #788963

#TimeUsernameProblemLanguageResultExecution timeMemory
788963Metal_SonicBalloons (CEOI11_bal)C++17
10 / 100
176 ms5612 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define sz(x) (x).size()
#define all(x) x.begin() , x.end()
#define double long double
void Sonic(string name = "") {
    ios_base::sync_with_stdio(false); cin.tie(nullptr);
    if(sz(name)){
        freopen((name+".in").c_str(), "r", stdin);
        freopen((name+".out").c_str(), "w", stdout);
    }
}
int xd[] = {0, 1, -1, 0, 1, 1, -1, -1};
int yd[] = {1, 0, 0, -1, 1, -1, 1, -1};
const int mod = 1e9 + 7, MAXN = 1e5 + 5;
double calc(double x1, double x2, double r1){
    return (x1-x2)*(x1-x2)/(4*r1);
}
void run_test_case(){
    int n;cin>>n;
    stack<pair<double,double>>ballons;
    vector<double>ans(n);
    for(int i = 0; i < n; i++){
        double x,r;cin>>x>>r;
        double max_r = r;
        while(!ballons.empty()){
            pair<double,double>last = ballons.top();
            double cur_r = calc(x,last.first,last.second);
            max_r = min(max_r,cur_r);
            if(max_r >= cur_r){ballons.pop();continue;}
            else break;
        }
        ans[i] = max_r;
        ballons.push({x,r});
    }
    cout<<fixed<<setprecision(3);
    for(auto &it : ans)cout<<it<<'\n';
}
int main(){
    Sonic();
    int T = 1;
    //cin>>T;
    while(T--){
        run_test_case();
    }
    return 0;
}

Compilation message (stderr)

bal.cpp: In function 'void Sonic(std::string)':
bal.cpp:10:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |         freopen((name+".in").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bal.cpp:11:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |         freopen((name+".out").c_str(), "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...