Submission #96214

# Submission time Handle Problem Language Result Execution time Memory
96214 2019-02-07T05:55:14 Z easrui Mobile (BOI12_mobile) C++14
8 / 100
769 ms 86508 KB
#include <bits/stdc++.h>
using namespace std;
const int MN = 1e6+5;
int N,L,C[MN],num[MN],cur,pos;
long double X[MN],Y[MN],A[MN],B[MN],Ipos[MN],x,ans,tmp;

bool cmp(int a, int b)
{
    if(A[a]==A[b]) return B[a]<B[b];
    return A[a]>A[b];
}

double getI(int a, int b)
{
    if(A[a]==A[b]) return L;
    return (B[a]-B[b])/(A[b]-A[a]);
}

int main()
{
    ios_base::sync_with_stdio(0),cin.tie(0);
    //freopen("C:\\Users\\user\\Desktop\\input.txt","r",stdin);
    cin >> N >> L;
    for(int i=0; i<N; i++){
        cin >> X[i] >> Y[i];
        A[i] = X[i]*(-2);
        B[i] = X[i]*X[i]+Y[i]*Y[i];
        num[i] = i;
    }
    sort(num,num+N,cmp);
    Ipos[pos] = 0;
    C[pos] = num[0];
    for(int i=1; i<N; i++){
        cur = num[i];
        while(1){
            if(pos==-1){
                Ipos[++pos] = 0;
                C[pos] = cur;
                break;
            }
            x = getI(C[pos],cur);
            if(x>=L) break;
            if(x>Ipos[pos]){
                Ipos[++pos] = x;
                C[pos] = cur;
                break;
            }
            pos--;
        }
    }
    Ipos[pos+1] = L;
    for(int i=0; i<=pos; i++){
        cur = C[i];
        tmp = max((Ipos[i]-X[cur])*(Ipos[i]-X[cur]),(Ipos[i+1]-X[cur])*(Ipos[i+1]-X[cur]))+Y[cur]*Y[cur];
        ans = max(ans,tmp);
    }
    cout << sqrt(ans);
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 504 KB Output is correct
2 Correct 3 ms 632 KB Output is correct
3 Correct 4 ms 504 KB Output is correct
4 Incorrect 3 ms 632 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 760 KB Output is correct
2 Incorrect 5 ms 760 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 732 KB Output is correct
2 Incorrect 5 ms 760 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 764 KB Output is correct
2 Incorrect 5 ms 760 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 51 ms 5372 KB Output is correct
2 Incorrect 48 ms 5472 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 51 ms 5636 KB Output is correct
2 Correct 52 ms 5040 KB Output is correct
3 Incorrect 54 ms 5752 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 57 ms 8056 KB Output is correct
2 Incorrect 60 ms 5880 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 80 ms 7052 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 75 ms 7544 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 310 ms 43512 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 367 ms 33660 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 365 ms 51972 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 466 ms 40404 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 505 ms 60788 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 538 ms 46920 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 502 ms 69228 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 605 ms 53660 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 626 ms 86508 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 769 ms 66968 KB Output isn't correct
2 Halted 0 ms 0 KB -