Submission #468947

#TimeUsernameProblemLanguageResultExecution timeMemory
468947JosiaBuilding Bridges (CEOI17_building)C++14
0 / 100
60 ms8700 KiB
#pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx2") #include <bits/stdc++.h> #define int int64_t using namespace std; int dijkstra(vector<pair<int, int>> pillars) { priority_queue<pair<int, int>> pq; pq.push({0, 0}); vector<bool> visited(pillars.size()); while (!pq.empty()) { int price = -pq.top().first; int v = pq.top().second; pq.pop(); if (v==pillars.size()-1) return price; if (visited[v]) continue; visited[v] = 1; int destroyCost = 0; for (int i = v+1; i<pillars.size(); i++) { if (!visited[i]) pq.push({-price - destroyCost - (pillars[v].first-pillars[i].first)*(pillars[v].first-pillars[i].first), i}); destroyCost += pillars[i].second; } } assert(false); return -1; } signed main() { cin.tie(0); ios_base::sync_with_stdio(0); int n; cin >> n; vector<pair<int, int>> pillars(n); for (int i = 0; i<n; i++) { cin >> pillars[i].first; } for (int i = 0; i<n; i++) { cin >> pillars[i].second; } pillars[0].second = 0; pillars.back().second = 0; cout << dijkstra(pillars) << "\n"; return 0; }

Compilation message (stderr)

building.cpp: In function 'int64_t dijkstra(std::vector<std::pair<long int, long int> >)':
building.cpp:29:14: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'std::vector<std::pair<long int, long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |         if (v==pillars.size()-1) return price;
      |             ~^~~~~~~~~~~~~~~~~~
building.cpp:36:28: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'std::vector<std::pair<long int, long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |         for (int i = v+1; i<pillars.size(); i++) {
      |                           ~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...