# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
356807 | 2021-01-23T17:42:44 Z | jnk | Balloons (CEOI11_bal) | C++17 | 2000 ms | 19632 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; double x[200005], r[200005], res[200005]; int main(){ int n; cin >> n; for(int i = 0; i < n; i++) scanf("%lf %lf", &x[i], &r[i]); res[0] = r[0]; stack<pair<double,double>> st; st.push(make_pair(x[0], res[0])); for(int i = 1; i < n; i++){ double esq = 0, dir = r[i]; for(int j = 0; j < 45; j++){ double r = (esq + dir)/2; int ok = 1; vector<pair<double,double>> safe; while(!st.empty()){ auto p = st.top(); double xdif = x[i] - p.first; double ydif = r - p.second; double dist = r+p.second; if(xdif*xdif + ydif*ydif < dist*dist){ ok = 0; break; } if(r > p.second) st.pop(), safe.push_back(p); else break; } if(ok) esq = r; else dir = r; reverse(safe.begin(), safe.end()); for(auto par : safe) st.push(par); } res[i] = esq; st.push(make_pair(x[i], res[i])); } for(int i = 0; i < n; i++) printf("%.3f\n", res[i]); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | 10 numbers |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | 2 numbers |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 364 KB | 505 numbers |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 492 KB | 2000 numbers |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 71 ms | 1572 KB | 20000 numbers |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1433 ms | 4036 KB | 50000 numbers |
2 | Correct | 131 ms | 5260 KB | 49912 numbers |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2056 ms | 7296 KB | Time limit exceeded |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2068 ms | 5548 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1756 ms | 12884 KB | 154271 numbers |
2 | Correct | 566 ms | 19632 KB | 200000 numbers |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2009 ms | 6028 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |