Submission #495639

#TimeUsernameProblemLanguageResultExecution timeMemory
495639keertanBalloons (CEOI11_bal)C++17
10 / 100
149 ms3300 KiB
#include <bits/stdc++.h>
using namespace std;
//#define int  int64_t
#define all(x) x.begin(), x.end()
#define all1(x) x.rbegin(), x.rend()
#define sz(x) (int)(x.size())
const int N = 1e5 + 5, mod = 1e9 + 7;
const int64_t N1=1e18;
const double eps=1e-11;
#define double long double
void solve(){
  int n;
  cin>>n;
  vector<pair<int,int>> z(n);
  for (pair<int,int> &it:z){cin>>it.first>>it.second;}
  stack<pair<double,double>> s;
  for (int i=0;i<n;i++){
    while([&]()->bool{
      if (s.empty()){return false;}
      double x1=s.top().first,y1=s.top().second,x2=z[i].first,y2=z[i].second;
      double dis=((x2-x1)*(x2-x1))/(4.0*y1);
     // cerr<<dis<<" "<<i<<"\n";
      double ans=min(y1,dis);
      return ans>=y1;
    }()){s.pop();}
    if (!s.empty()){
      double x1=s.top().first,y1=s.top().second,x2=z[i].first,y2=z[i].second;
      double dis=((x2-x1)*(x2-x1))/(4.0*y1);
     // cerr<<dis<<" "<<i<<"\n";
      double ans=min(y1,dis);
      cout<<fixed<<setprecision(3)<<ans<<"\n";
      s.emplace(x2,ans);
    }
    else{
      cout<<fixed<<setprecision(3)<<z[i].second<<"\n";
      s.emplace(z[i]);
    }
  }
}
int32_t main(){
  ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
  int tq = 1;
  //cin>>tq;
  for (;tq;tq--){solve();}
}

Compilation message (stderr)

bal.cpp: In lambda function:
bal.cpp:20:63: warning: unused variable 'y2' [-Wunused-variable]
   20 |       double x1=s.top().first,y1=s.top().second,x2=z[i].first,y2=z[i].second;
      |                                                               ^~
bal.cpp: In function 'void solve()':
bal.cpp:27:63: warning: unused variable 'y2' [-Wunused-variable]
   27 |       double x1=s.top().first,y1=s.top().second,x2=z[i].first,y2=z[i].second;
      |                                                               ^~
#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...