Submission #1208067

#TimeUsernameProblemLanguageResultExecution timeMemory
1208067matisitoRail (IOI14_rail)C++20
0 / 100
32 ms584 KiB
#include "rail.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <math.h>
#include <algorithm>
#include <cstring>
#include <numeric>
#include <vector>
#include <bitset>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <unordered_map>
#include <unordered_set>

using namespace std;

const int M=1e6;

void findLocation(int N, int first, int location[], int stype[]){
    vector<pair<int, int>>der, izq;
    pair<int, int>menor;
    menor={1e9, -1};
    for(int i=1 ; i<N ; i++){
        int a=getDistance(0, i);
        if(menor.first>a){
            menor.first=a;
            menor.second=i;
        }
    }
    for(int i=1 ; i<N ; i++){
        int a=getDistance(menor.second, i);
        int b=getDistance(0, i);
        if(a<b) izq.push_back({a-menor.first, i});
        else der.push_back({b, i});
    }
    // sort(der.begin(), der.end());
    location[0]=first;
    stype[0]=1;
    for(pair<int, int> x:izq){
        location[x.second]=first-x.first;
        stype[x.second]=1;
    }
    for(pair<int, int> x:der){
        location[x.second]=first+x.first;
        stype[x.second]=2;
    }
    return;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...