#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++){
if(i==menor.second){
der.push_back({menor.first, i});
continue;
}
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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |