Submission #605114

#TimeUsernameProblemLanguageResultExecution timeMemory
605114HediChehaidarRail (IOI14_rail)C++17
30 / 100
330 ms99236 KiB
#include<bits/stdc++.h> typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef double db; ll gcd(ll a , ll b) {return b ? gcd(b , a % b) : a ;} // greatest common divisor (PGCD) ll lcm(ll a , ll b) {return (a * b) / gcd(a , b);} // least common multiple (PPCM) #define ss second #define ff first #define all(x) (x).begin() , (x).end() #define pb push_back #define vi vector<int> #define vii vector<pair<int,int>> #define vl vector<ll> #define vll vector<pair<ll,ll>> #define pii pair<int,int> #define pll pair<ll,ll> #define pdd pair<double,double> #define vdd vector<pdd> #define dte tuple<double , double , double> using namespace std; const int INF = 1000*1000*1000; // 1 e 9 const int MOD = 1e9 + 7;//998244353 ; const double EPS = 0.000000001; // 1 e -9 const ll inf = (ll)2e18; #include"rail.h" //int getDistance(int i, int j); int dist[5050][5050]; void findLocation(int n, int first, int location[], int stype[]){ location[0] = first; stype[0]= 1; if(n == 1) return; int mn = INF , id = 1; for(int i = 0 ; i < n ; i++){ for(int j = i + 1 ; j < n ; j++){ dist[i][j] = dist[j][i] = getDistance(i , j); } } for(int i = 1 ; i < n ; i++) { if(dist[0][i] < mn){ mn = dist[i][0]; id = i; } } stype[id] = 2; location[id] = first + dist[0][id]; for(int i = 1 ; i < n ; i++){ if(i == id) continue; if(dist[0][i] < dist[id][i]){ stype[i] = 2; location[i] = first + dist[0][i]; } else{ stype[i] = 1; location[i] = first - (dist[i][id] - dist[0][id]); } } } /*int main(){ //ifstream fin ("testing.txt"); //ofstream fout ("output.txt"); ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); return 0; } */ /* Think of : BS / DFS / BFS / SSSP / SCC / MSP / MAX FLOW / TOPSORT / LCA / MATRIX / DP(bitmask) / 2 POINTERS / SEG TREE / MATH / UN FIND / MO / HLD Read the statement CAREFULLY !! Make a GREADY APPROACH !!!! (start from highest / lowest) Make your own TESTS !! Be careful from CORNER CASES ! */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...