# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
341501 |
2020-12-29T21:25:21 Z |
FlashGamezzz |
Rail (IOI14_rail) |
C++11 |
|
379 ms |
98404 KB |
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <vector>
#include <utility>
#include <map>
#include "rail.h"
using namespace std;
int n, dists[5000][5000] = {};
void findLocation(int N, int first, int location[], int stype[]){
n = N;
for (int i = 0; i < n; i++){
for (int j = i+1; j < n; j++){
dists[i][j] = getDistance(i, j); dists[j][i] = dists[i][j];
}
}
int diff = 10000000, cd = -1;
for (int i = 1; i < n; i++){
if (dists[0][i] < diff){
diff = dists[0][i]; cd = i;
}
}
location[0] = first; stype[0] = 1;
location[cd] = first+diff; stype[cd] = 2;
for (int i = 1; i < n; i++){
if (i != cd){
int mv = 10000000, mi = -1;
for (int j = 0; j < n; j++){
if (j != i && dists[i][j] < mv){
mv = dists[i][j]; mi = j;
}
}
if (dists[i][cd] < dists[i][0]){ //left
if (mi == cd){
location[i] = first+diff-dists[i][cd]; stype[i] = 1;
} else if (dists[mi][cd] < dists[i][cd]){ // C <- _D_ 0 D
location[i] = first+diff-dists[mi][cd]+mv; stype[i] = 2;
} else { // _C_ -> 0 D
location[i] = first+diff-dists[i][cd]; stype[i] = 1;
}
} else { //right
if (mi == 0){
location[i] = first+dists[i][0]; stype[i] = 2;
} else if (dists[mi][0] < dists[i][0]){ // 0 D _C_ -> D
location[i] = first+dists[i][0]-mv; stype[i] = 1;
} else { // 0 D _D_
location[i] = first+dists[i][0]; stype[i] = 2;
}
}
}
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
748 KB |
Output is correct |
2 |
Correct |
1 ms |
748 KB |
Output is correct |
3 |
Correct |
1 ms |
748 KB |
Output is correct |
4 |
Correct |
1 ms |
748 KB |
Output is correct |
5 |
Correct |
1 ms |
748 KB |
Output is correct |
6 |
Correct |
1 ms |
748 KB |
Output is correct |
7 |
Correct |
1 ms |
748 KB |
Output is correct |
8 |
Correct |
1 ms |
748 KB |
Output is correct |
9 |
Correct |
1 ms |
748 KB |
Output is correct |
10 |
Correct |
1 ms |
748 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
748 KB |
Output is correct |
2 |
Correct |
1 ms |
748 KB |
Output is correct |
3 |
Correct |
1 ms |
748 KB |
Output is correct |
4 |
Correct |
1 ms |
748 KB |
Output is correct |
5 |
Correct |
1 ms |
748 KB |
Output is correct |
6 |
Correct |
1 ms |
748 KB |
Output is correct |
7 |
Correct |
1 ms |
748 KB |
Output is correct |
8 |
Correct |
1 ms |
748 KB |
Output is correct |
9 |
Correct |
1 ms |
748 KB |
Output is correct |
10 |
Correct |
1 ms |
748 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
379 ms |
98404 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
378 ms |
98284 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |