# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
105797 | 2019-04-15T00:46:14 Z | gs18103 | None (KOI16_dist) | C++ | 3 ms | 512 KB |
#include <bits/stdc++.h> using namespace std; long long arr[1010][4]; long long ans; int n, T; long long dp[10101010]; long long cal_dis(int t) { if(dp[t] != 0) return dp[t]; long long dis = 0; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { if(i == j) continue; dis = max(dis, (arr[i][0]-arr[j][0]+t*(arr[i][2]-arr[j][2]))*(arr[i][0]-arr[j][0]+t*(arr[i][2]-arr[j][2]))+ (arr[i][1]-arr[j][1]+t*(arr[i][3]-arr[j][3]))*(arr[i][1]-arr[j][1]+t*(arr[i][3]-arr[j][3]))); } } return dp[t] = dis; } int search(int s, int e) { if(s + 5 >= e) { long long dis = 10000000000000000LL; for(int i = s; i <= e; i++) dis = min(dis, cal_dis(i)); for(int i = s; i <= e; i++) if(dis == cal_dis(i)) return i; } int t1 = (2 * s + e) / 3, t2 = (s + 2 * e) / 3; long long dis1 = cal_dis(t1), dis2 = cal_dis(t2); if(dis1 < dis2) return search(s, t2); else return search(t1, e); } int main() { scanf("%d %d", &n, &T); for(int i = 0; i < n; i++) for(int j = 0; j < 4; j++) scanf("%lld", &arr[i][j]); int ans = search(0, T); printf("%d\n%lld", ans, cal_dis(ans)); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 512 KB | Output is correct |
2 | Correct | 2 ms | 512 KB | Output is correct |
3 | Incorrect | 2 ms | 512 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 512 KB | Output is correct |
2 | Correct | 2 ms | 512 KB | Output is correct |
3 | Incorrect | 2 ms | 512 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 3 ms | 384 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 512 KB | Output is correct |
2 | Correct | 2 ms | 512 KB | Output is correct |
3 | Incorrect | 2 ms | 512 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |