Submission #489634

#TimeUsernameProblemLanguageResultExecution timeMemory
489634YuisuyunoBalloons (CEOI11_bal)C++14
40 / 100
6 ms460 KiB
//Nguyen Huu Hoang Minh
#include <bits/stdc++.h>
#define sz(x) int(x.size())
#define all(x) x.begin(),x.end()
#define reset(x) memset(x, 0,sizeof(x))
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define N 2005
#define remain(x) if (x > MOD) x -= MOD
#define ii pair<int, int>
#define iiii pair< ii , ii >
#define viiii vector< iiii >
#define vi vector<int>
#define vii vector< ii >
#define bit(x, i) (((x) >> (i)) & 1)
#define Task "test"
#define int long long

using namespace std;

typedef long double ld;
const int inf = 1e10;
const int minf = -1e10;

int n;
double x[N], r[N];
double R[N];

void readfile()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    if (fopen(Task".inp","r"))
    {
        freopen(Task".inp","r",stdin);
        //freopen(Task".out","w",stdout);
    }
    cin >> n;
    for(int i=1; i<=n; i++){
        cin >> x[i] >> r[i];
    }
}

double check(int pos, int pre){
    //(x[pre],R[pre])
    //(x[pos],R[pos])
    //dis*dis = (xpre-xpos)*(xpre-xpos) + (Rpre-R)*(Rpre-R) = Rpre^2 + 2*Rpre*R + R^2
    //(xpre-xpos)*(xpre-xpos) = 4*Rpre*R
    double R_cur = (x[pre]-x[pos])*(x[pre]-x[pos])/4/R[pre];
    return R_cur;
}

void proc()
{
    R[1] = r[1];
    for(int i=2; i<=n; i++){
        double RR = r[i];
        for(int j=1; j<i; j++){
            double tmp = check(i,j);
            //cout << tmp << endl;
            if (RR>tmp){
                RR = tmp;
            }
        }
        R[i] = RR;
    }
    cout << setprecision(3) << fixed;
    for(int i=1; i<=n; i++) cout << R[i] << '\n';
}

signed main()
{
    readfile();
    proc();
    return 0;
}

Compilation message (stderr)

bal.cpp: In function 'void readfile()':
bal.cpp:37:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   37 |         freopen(Task".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
#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...