Submission #1153431

#TimeUsernameProblemLanguageResultExecution timeMemory
1153431tapilyocaCyberland (APIO23_cyberland)C++20
0 / 100
19 ms2116 KiB
#include "cyberland.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using vll = vector<ll>; using ld = long double; double solve(int N, int M, int K, int H, std::vector<int> x, std::vector<int> y, std::vector<int> c, std::vector<int> arr) { // literally a line ll start = 0; for(int i = H-1; i >= 0; i--){ if(arr[i] == 0){ start = i; break; } } ll gasStation = 0; for(int i = H; i >= start; i--){ // get the first 2 if(arr[i] == 2){ gasStation = i; break; } } // if gas station is 0 then its just dist(start,end) if(gasStation == 0 || K == 0){ ll ans = 0; for(int i = start; i < H; i++){ ans += c[i]; } return ans; } // otherwise ld price = min(c[gasStation], c[gasStation - 1]) * 2; ld ans = 0; for(int i = start; i < gasStation; i++){ ans += c[i]; } ans /= ld(2); // we are now at the gas station K--; for(int i = 1; i <= K; i++){ ans += price; ans /= ld(2); } for(int i = gasStation; i < H; i++){ ans += c[i]; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...