제출 #902253

#제출 시각아이디문제언어결과실행 시간메모리
902253Muhammad_Aneeq철로 (IOI14_rail)C++17
30 / 100
77 ms924 KiB
#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);
			}
		}
	}
}

컴파일 시 표준 에러 (stderr) 메시지

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;
      |      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...