Submission #598816

#TimeUsernameProblemLanguageResultExecution timeMemory
598816BT21tata철로 (IOI14_rail)C++17
30 / 100
409 ms98400 KiB
#include "rail.h"
#include <bits/stdc++.h>
using namespace std;

int dis[5005][5005];

void findLocation(int n, int first, int location[], int stype[])
{
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<n; j++)
			dis[i][j]=getDistance(i, j);
	}

	int c=0, d=1;
	for(int i=1; i<n; i++)
	{
		if(dis[0][i]<dis[0][d])
			d=i;
	}
	stype[d]=2;
	location[d]=first+dis[0][d];
	for(int i=0; i<n; i++)
	{
		if(i!=d and dis[d][i]<dis[d][c])
			c=i;
	}
	stype[c]=1;
	location[c]=location[d]-dis[d][c];
	for(int i=0; i<n; i++)
	{
		if(i==d or i==c) continue;
		if(dis[d][i]<dis[c][i])
		{
			stype[i]=1;
			location[i]=location[d]-dis[d][i];
		}
		else
		{
			stype[i]=2;
			location[i]=location[c]+dis[c][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...