Submission #1266723

#TimeUsernameProblemLanguageResultExecution timeMemory
1266723hoangmc2009Balloons (CEOI11_bal)C++17
20 / 100
86 ms8896 KiB
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
using f64 = long double;
i64 n,x[200009],r[200009];
long double y[200009];
vector<int> st;
bool check(int i,int j,int k) {return (x[i]-x[k])*(x[i]-x[k])/y[i]>=(x[j]-x[k])*(x[j]-x[k])/y[j];}
int main()
{
    if(fopen("D:/CPP/THEMIS/test.inp","r"))
    {
        freopen("D:/CPP/THEMIS/test.inp","r",stdin);
        freopen("D:/CPP/THEMIS/test.out","w",stdout);
    }
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>n;
    for(int i=1;i<=n;++i) cin>>x[i]>>r[i];
    y[1]=r[1]; st.push_back(1);
    for(int i=2;i<=n;++i)
    {
        while(st.size()>=2 and !check(st[st.size()-2],st[st.size()-1],i)) st.pop_back();
        y[i]=min(f64(r[i]),(x[i]-x[st.back()])*(x[i]-x[st.back()])/4.0L/y[st.back()]); st.push_back(i);
    }
    for(int i=1;i<=n;++i) cout<<fixed<<setprecision(3)<<y[i]<<'\n';
}

Compilation message (stderr)

bal.cpp: In function 'int main()':
bal.cpp:13:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         freopen("D:/CPP/THEMIS/test.inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bal.cpp:14:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |         freopen("D:/CPP/THEMIS/test.out","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...