Submission #556255

#TimeUsernameProblemLanguageResultExecution timeMemory
556255JomnoiRail (IOI14_rail)C++17
30 / 100
312 ms98520 KiB
#include <bits/stdc++.h>
#include "rail.h"
using namespace std;

const int MAX_N = 5e3 + 10;
const int INF = 1e9 + 7;

int min_dist;
int dist[MAX_N][MAX_N];

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

    location[0] = first;
    stype[0] = 1;
    
    int min_dist = INF, firstD;
    for(int i = 1; i < N; i++) {
        if(min_dist > dist[0][i]) {
            min_dist = dist[0][i];
            firstD = i;
        }
    }

    location[firstD] = first + min_dist;
    stype[firstD] = 2;

    for(int i = 1; i < N; i++) {
        if(i == firstD) {
            continue;
        }

        if(dist[firstD][i] < dist[0][i]) {
            location[i] = location[firstD] - dist[firstD][i];
            stype[i] = 1;
        }
        else {
            location[i] = first + dist[0][i];
            stype[i] = 2;
        }
    }
}

Compilation message (stderr)

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