Submission #113945

#TimeUsernameProblemLanguageResultExecution timeMemory
113945E869120철로 (IOI14_rail)C++14
30 / 100
69 ms504 KiB
#include "rail.h"
#include <bits/stdc++.h>
using namespace std;

int N, A[100009], T[100009];

void findLocation(int n, int first, int location[], int stype[]) {
	N = n; A[0] = first; T[0] = 1;
	
	int minx = 100000000, minid = -1;
	for (int i = 1; i < N; i++) {
		int E = getDistance(0, i);
		if (minx > E) { minx = E; minid = i; }
	}
	A[minid] = A[0] + minx; T[minid] = 2;
	
	for (int i = 0; i < N; i++) {
		if (i == 0 || i == minid) continue;
		int F = getDistance(0, i);
		int G = getDistance(minid, i);
		if (F < G) { A[i] = (A[0] + F); T[i] = 2; }
		else { A[i] = (A[minid] - G); T[i] = 1; }
	}
	for (int i = 0; i < N; i++) { location[i] = A[i]; stype[i] = T[i]; }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...