# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
56165 | 2018-07-10T06:50:49 Z | 정원준(#1583) | Mobile (BOI12_mobile) | C++11 | 677 ms | 32116 KB |
#include <bits/stdc++.h> #define L long long using namespace std; L n,l; struct S{ L x,y; }a[1000010]; bool operator<(S a,S b){ if(a.x==b.x) return a.y>b.y; return a.x<b.x; } S st[1000010]; L top; double cross(S a,S b){ return (double)(b.x*b.x-a.x*a.x+ b.y*b.y-a.y*a.y)/(2*(b.x-a.x)); } bool shellpop(S temp){ if(top<2) return 0; double cross1=cross(st[top],st[top-1]); top++; st[top]=temp; double cross2=cross(st[top],st[top-1]); top--; return cross2<cross1; } double ab(double x){ return x>0?x:-x; } double ans; int main() { scanf("%lld %lld",&n,&l); L i; for(i=1;i<=n;i++) { scanf("%lld %lld",&a[i].x,&a[i].y); if(a[i].y<0) a[i].y*=-1; } sort(a+1,a+n+1); for(i=1;i<=n;i++) { if(i<n&&a[i].x==a[i+1].x) continue; while(shellpop(a[i])) top--; top++; st[top]=a[i]; } /*for(i=1;i<=top;i++) { printf("%lld %lld\n",st[i].x,st[i].y); }*/ for(i=1;i<top;i++) { double temp=cross(st[i+1],st[i]); double temp2=sqrt((st[i].x-temp)*(st[i].x-temp)+st[i].y*st[i].y); double temp3=sqrt((st[i+1].x-temp)*(st[i+1].x-temp)+st[i+1].y*st[i+1].y); //if(ab(temp2-temp3)>0.01) while(1); if(0<=temp&&temp<=l) ans=max(ans,temp2); //printf("%lf %lf %lf\n",temp,temp2,temp3); } double mi=1e12; for(i=1;i<=n;i++) { mi=min(mi,sqrt(a[i].x*a[i].x+a[i].y*a[i].y)); } ans=max(ans,mi); mi=1e12; for(i=1;i<=n;i++) { mi=min(mi,sqrt((a[i].x-l)*(a[i].x-l)+a[i].y*a[i].y)); } ans=max(ans,mi); printf("%lf",ans); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 248 KB | Output is correct |
2 | Correct | 2 ms | 484 KB | Output is correct |
3 | Correct | 3 ms | 484 KB | Output is correct |
4 | Correct | 3 ms | 484 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 484 KB | Output is correct |
2 | Correct | 3 ms | 524 KB | Output is correct |
3 | Correct | 3 ms | 548 KB | Output is correct |
4 | Correct | 2 ms | 592 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 596 KB | Output is correct |
2 | Correct | 4 ms | 596 KB | Output is correct |
3 | Correct | 4 ms | 596 KB | Output is correct |
4 | Correct | 4 ms | 596 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 596 KB | Output is correct |
2 | Correct | 5 ms | 596 KB | Output is correct |
3 | Correct | 5 ms | 596 KB | Output is correct |
4 | Correct | 6 ms | 596 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 596 KB | Output is correct |
2 | Correct | 5 ms | 596 KB | Output is correct |
3 | Correct | 5 ms | 624 KB | Output is correct |
4 | Correct | 6 ms | 796 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 796 KB | Output is correct |
2 | Correct | 4 ms | 796 KB | Output is correct |
3 | Correct | 7 ms | 796 KB | Output is correct |
4 | Correct | 6 ms | 796 KB | Output is correct |
5 | Correct | 5 ms | 796 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 29 ms | 1900 KB | Output is correct |
2 | Correct | 48 ms | 1900 KB | Output is correct |
3 | Correct | 31 ms | 1900 KB | Output is correct |
4 | Correct | 37 ms | 1900 KB | Output is correct |
5 | Correct | 21 ms | 1900 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 43 ms | 1900 KB | Output is correct |
2 | Correct | 32 ms | 1900 KB | Output is correct |
3 | Correct | 42 ms | 1900 KB | Output is correct |
4 | Correct | 39 ms | 1900 KB | Output is correct |
5 | Correct | 48 ms | 1960 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 42 ms | 3284 KB | Output is correct |
2 | Correct | 35 ms | 3284 KB | Output is correct |
3 | Correct | 33 ms | 3284 KB | Output is correct |
4 | Correct | 74 ms | 3284 KB | Output is correct |
5 | Correct | 42 ms | 3284 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 50 ms | 3284 KB | Output is correct |
2 | Correct | 41 ms | 3284 KB | Output is correct |
3 | Correct | 53 ms | 3284 KB | Output is correct |
4 | Correct | 75 ms | 3284 KB | Output is correct |
5 | Correct | 53 ms | 3284 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 47 ms | 3284 KB | Output is correct |
2 | Correct | 43 ms | 3284 KB | Output is correct |
3 | Correct | 45 ms | 3284 KB | Output is correct |
4 | Correct | 72 ms | 3284 KB | Output is correct |
5 | Correct | 48 ms | 3284 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 245 ms | 16300 KB | Output is correct |
2 | Correct | 217 ms | 16300 KB | Output is correct |
3 | Correct | 231 ms | 16300 KB | Output is correct |
4 | Correct | 316 ms | 16300 KB | Output is correct |
5 | Correct | 272 ms | 16300 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 241 ms | 16300 KB | Output is correct |
2 | Correct | 223 ms | 16300 KB | Output is correct |
3 | Correct | 241 ms | 16300 KB | Output is correct |
4 | Correct | 326 ms | 16300 KB | Output is correct |
5 | Correct | 281 ms | 16300 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 228 ms | 19352 KB | Output is correct |
2 | Correct | 275 ms | 19352 KB | Output is correct |
3 | Correct | 306 ms | 19352 KB | Output is correct |
4 | Correct | 371 ms | 19352 KB | Output is correct |
5 | Correct | 332 ms | 19352 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 337 ms | 19352 KB | Output is correct |
2 | Correct | 275 ms | 19352 KB | Output is correct |
3 | Correct | 266 ms | 19352 KB | Output is correct |
4 | Correct | 337 ms | 19352 KB | Output is correct |
5 | Correct | 282 ms | 19352 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 268 ms | 22516 KB | Output is correct |
2 | Correct | 332 ms | 22516 KB | Output is correct |
3 | Correct | 355 ms | 22516 KB | Output is correct |
4 | Correct | 406 ms | 22516 KB | Output is correct |
5 | Correct | 367 ms | 22516 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 411 ms | 22516 KB | Output is correct |
2 | Correct | 323 ms | 22516 KB | Output is correct |
3 | Correct | 291 ms | 22516 KB | Output is correct |
4 | Correct | 444 ms | 22516 KB | Output is correct |
5 | Correct | 384 ms | 22516 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 338 ms | 25864 KB | Output is correct |
2 | Correct | 336 ms | 25864 KB | Output is correct |
3 | Correct | 364 ms | 25864 KB | Output is correct |
4 | Correct | 451 ms | 25864 KB | Output is correct |
5 | Correct | 382 ms | 25864 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 389 ms | 25864 KB | Output is correct |
2 | Correct | 405 ms | 25864 KB | Output is correct |
3 | Correct | 362 ms | 25864 KB | Output is correct |
4 | Correct | 560 ms | 25864 KB | Output is correct |
5 | Correct | 411 ms | 25864 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 398 ms | 32116 KB | Output is correct |
2 | Correct | 439 ms | 32116 KB | Output is correct |
3 | Correct | 521 ms | 32116 KB | Output is correct |
4 | Correct | 595 ms | 32116 KB | Output is correct |
5 | Correct | 551 ms | 32116 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 374 ms | 32116 KB | Output is correct |
2 | Correct | 365 ms | 32116 KB | Output is correct |
3 | Correct | 286 ms | 32116 KB | Output is correct |
4 | Correct | 677 ms | 32116 KB | Output is correct |
5 | Correct | 379 ms | 32116 KB | Output is correct |