답안 #902253

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
902253 2024-01-10T07:33:28 Z Muhammad_Aneeq 철로 (IOI14_rail) C++17
30 / 100
77 ms 924 KB
#include "rail.h"
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
int dist(int i,int j)
{
	return getDistance(i,j);
}
void findLocation(int n, int pos, int location[], int stype[])
{
	location[0]=pos;
	stype[0]=1;
	for (int i=1;i<n;i++)
		stype[i]=0;
	set<int>s;
	for (int i=1;i<n;i++)
		s.insert(i);
	int f=0;
	while (s.size())
	{
		int f=1e9+10;
		int ind=-1;
		for (auto i:s)
		{
			int z=(dist(0,i));
			if (z<f)
			{
				f=z;
				ind=i;
			}
		}
		vector<pair<int,int>>sm,bi;
		for (auto i:s)
		{
			if (i==ind)
				continue;
			int z=dist(ind,i);
			if (dist(0,i)==z+f)
			{
				if (z*2>f)
					sm.push_back({z,i});
				else
					bi.push_back({z,i});
			}
		}
		sort(begin(sm),end(sm));
		sort(begin(bi),end(bi));
		for (int i=0;i<sm.size();i++)
		{
			location[sm[i].second]=pos-sm[i].first+f;
			stype[sm[i].second]=1;		
		}
		for (int i=0;i<bi.size();i++)
		{
			location[bi[i].second]=pos-bi[i].first+f;
			stype[bi[i].second]=2;
		}
		location[ind]=pos+f;
		stype[ind]=2;
		s={};
		for (int i=0;i<n;i++)
		{
			if (stype[i]==0)
			{
				s.insert(i);
			}
		}
	}
}

Compilation message

rail.cpp: In function 'void findLocation(int, int, int*, int*)':
rail.cpp:49:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |   for (int i=0;i<sm.size();i++)
      |                ~^~~~~~~~~~
rail.cpp:54:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |   for (int i=0;i<bi.size();i++)
      |                ~^~~~~~~~~~
rail.cpp:19:6: warning: unused variable 'f' [-Wunused-variable]
   19 |  int f=0;
      |      ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 604 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 352 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 77 ms 920 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 76 ms 924 KB Output isn't correct
2 Halted 0 ms 0 KB -