Submission #750616

#TimeUsernameProblemLanguageResultExecution timeMemory
750616Abrar_Al_SamitRail (IOI14_rail)C++17
30 / 100
77 ms34272 KiB
#include "rail.h"
#include <bits/stdc++.h>
using namespace std;

const int nax = 5000;

int mem[nax][nax];

int get(int a, int b) {
	if(a==b) return 0;
	if(mem[a][b]) return mem[a][b];

	return mem[a][b] = mem[b][a] = getDistance(a, b);
}
void findLocation(int N, int first, int location[], int stype[]) {
	location[0] = first, stype[0] = 1;

	int ndt;
	int dis = 1e9;
	for(int i=1; i<N; ++i) {
		if(get(0, i)<dis) {
			dis = get(0, i);
			ndt = i;
		}
	}
	location[ndt] = first + dis, stype[ndt] = 2;
	for(int i=1; i<N; ++i) {
		if(i==ndt) continue;

		int d1 = get(0, i);
		int d2 = get(ndt, i);

		if(d1<d2) {
			location[i] = first + d1;
			stype[i] = 2;
		} else {
			location[i] = location[ndt] - d2;
			stype[i] = 1;
		}
	}
}

Compilation message (stderr)

rail.cpp: In function 'void findLocation(int, int, int*, int*)':
rail.cpp:26:11: warning: 'ndt' may be used uninitialized in this function [-Wmaybe-uninitialized]
   26 |  location[ndt] = first + dis, stype[ndt] = 2;
      |           ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...