제출 #1043310

#제출 시각아이디문제언어결과실행 시간메모리
1043310deera철로 (IOI14_rail)C++14
0 / 100
33 ms656 KiB
// ioi 2014 
// Day 1: Rail

#include <bits/stdc++.h>
#include "rail.h"
using namespace std;

void findLocation(int N, int first, int location[], int stype[])
{
    // we always know the type and location of the first station
    location[0] = first;
    stype[0] = 1;

    vector<int> dist; // distance from 0
    int closest = INT_MAX;
    int station = 0;
    dist.push_back(0);
    for (int i = 1; i < N; i++)
    {
        int d = getDistance(0, i);
        if (d < closest) {
            station = i;
            closest = d;
        }
        dist.push_back(d);
    }

    closest += first;

    stype[station] = 1;
    location[station] = closest;

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

        int d = getDistance(station, i);

        if (d < dist[i])
        {
            stype[i] = 1;
            location[i] = closest - d;
        }
        else
        {
            stype[i] = 2;
            location[i] = first + dist[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...