# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
133129 | 2019-07-20T07:48:48 Z | sealnot123 | Mobile (BOI12_mobile) | C++14 | 309 ms | 18268 KB |
#include<bits/stdc++.h> #define x first #define y second #define pb push_back #define eb emplace_back #define all(a) (a).begin(),(a).end() #define SZ(a) (int)(a).size() using namespace std; typedef long long LL; typedef pair<LL,LL> PLL; typedef pair<int,int> PII; typedef double D; typedef long double LD; const int N = 1000007; PLL tower[N]; PLL intersect(PLL a, PLL b){ LL A, B; A = a.y - b.y; B = b.x - a.x; if(B < 0) A = -A, B = -B; return {A, B}; } vector<PLL> line; void add(PLL nw){ while(SZ(line)>1){ int a = SZ(line); if(line[a-1].x == nw.x) return; PLL tmp1 = intersect(line[a-2], line[a-1]); PLL tmp2 = intersect(line[a-1], nw); if(tmp2.x*tmp1.y < tmp1.x*tmp2.y) line.pop_back(); else break; } line.pb(nw); } LD calc(LD a, int b){ return a*line[b].x + line[b].y; } LL L; int n; int main(){ int i,j; LL a,b; scanf("%d %lld",&n,&L); for(i=1;i<=n;i++){ scanf("%lld%lld",&a,&b); tower[i] = {-a*2ll, a*a + b*b}; } sort(tower+1, tower+1+n); for(i=1;i<=n;i++){ add(tower[i]); } LD ans = 0; for(i = 0; i < SZ(line)-1; i++){ PLL tmp = intersect(line[i], line[i+1]); LD tmp2 = (LD)tmp.x/tmp.y; if(tmp2 < 0 || tmp2 > L) continue; ans = max(ans, calc(tmp2, i) + tmp2*tmp2); } for(i=0; i<SZ(line)-1; i++){ if(calc(0, i) <= calc(0, i+1)) break; } ans = max(ans, calc(0, i)); for(i=0; i<SZ(line)-1; i++){ if(calc(L, i) <= calc(L, i+1)) break; } ans = max(ans, calc(L, i) + L*L); printf("%lf",(double)sqrt(ans)); return 0; } /* 2 10 0 0 11 1 */
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 256 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 380 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 504 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 440 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 21 ms | 2320 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 23 ms | 2296 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 21 ms | 2296 KB | Output is correct |
2 | Incorrect | 26 ms | 2780 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 34 ms | 3448 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 34 ms | 3368 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 118 ms | 10312 KB | Output is correct |
2 | Incorrect | 156 ms | 9824 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 154 ms | 10284 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 147 ms | 12008 KB | Output is correct |
2 | Incorrect | 186 ms | 11624 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 195 ms | 11992 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 161 ms | 13508 KB | Output is correct |
2 | Incorrect | 233 ms | 13008 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 223 ms | 13736 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 185 ms | 15144 KB | Output is correct |
2 | Incorrect | 254 ms | 14716 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 255 ms | 14968 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 228 ms | 18268 KB | Output is correct |
2 | Incorrect | 303 ms | 17872 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 309 ms | 16064 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |