Submission #8199

# Submission time Handle Problem Language Result Execution time Memory
8199 2014-09-06T14:41:39 Z gs14004 Experiments with Gorlum (IZhO13_expgorl) C++
5 / 100
1000 ms 1268 KB
#include <cstdio>
#include <cmath>
#include <utility>
#include <algorithm>
using namespace std;
typedef long long lint;
typedef pair<lint,lint> pi;

int k;
char s[10005];
pi afterCycle, a[10005], laser, ainta, mp[150];
lint minv, maxv;

lint dist(pi x, pi y){
    return (y.second - x.second)*(y.second - x.second) + (y.first - x.first)*(y.first - x.first);
}
pi mv(pi x, int time){return pi(x.first + afterCycle.first * time, x.second + afterCycle.second * time);}
lint f(pi x, int t){return dist(laser,mv(x,t));}

void input(){
    scanf("%d %s",&k,s);
    scanf("%lld %lld %lld %lld",&laser.first,&laser.second,&ainta.first,&ainta.second);
    mp['I'] = pi(0ll,0ll);
    mp['L'] = pi(-1ll,0ll);
    mp['R'] = pi(1ll,0ll);
    mp['B'] = pi(0ll,-1ll);
    mp['F'] = pi(0ll,1ll);
}

int main(){
    input();
    minv = maxv = dist(laser,ainta);
    pi x = ainta;
    for (int i=0; s[i]; i++) {
        x.first += mp[s[i]].first;
        x.second += mp[s[i]].second;
        a[i] = x;
    }
    afterCycle = pi(x.first - ainta.first,x.second - ainta.second);
    for (int i=0; s[i]; i++) {
        int s = 0, e = k-1, m1, m2;
        while (s != e) {
            m1 = (2*s + e)/3;
            m2 = (s + 2*e)/3;
            if(f(a[i],m1) < f(a[i],m2)) s = m1;
            else e = m2;
        }
        minv = min(minv,f(a[i],s));
        maxv = max(maxv,f(a[i],0));
        maxv = max(maxv,f(a[i],k-1));
    }
    printf("%lf\n%lf",sqrt(minv),sqrt(maxv));
}
# Verdict Execution time Memory Grader output
1 Execution timed out 1000 ms 1264 KB Program timed out
2 Execution timed out 1000 ms 1264 KB Program timed out
3 Execution timed out 1000 ms 1264 KB Program timed out
4 Execution timed out 1000 ms 1264 KB Program timed out
5 Execution timed out 1000 ms 1264 KB Program timed out
6 Execution timed out 1000 ms 1264 KB Program timed out
7 Execution timed out 1000 ms 1264 KB Program timed out
8 Execution timed out 1000 ms 1264 KB Program timed out
9 Execution timed out 1000 ms 1264 KB Program timed out
10 Execution timed out 1000 ms 1264 KB Program timed out
11 Execution timed out 1000 ms 1264 KB Program timed out
12 Execution timed out 1000 ms 1264 KB Program timed out
13 Execution timed out 1000 ms 1264 KB Program timed out
14 Execution timed out 1000 ms 1264 KB Program timed out
15 Execution timed out 1000 ms 1264 KB Program timed out
16 Execution timed out 1000 ms 1264 KB Program timed out
17 Correct 0 ms 1268 KB Output is correct
18 Execution timed out 1000 ms 1264 KB Program timed out
19 Execution timed out 1000 ms 1264 KB Program timed out
20 Execution timed out 1000 ms 1264 KB Program timed out