Submission #992410

#TimeUsernameProblemLanguageResultExecution timeMemory
992410borisAngelovRoad Construction (JOI21_road_construction)C++17
0 / 100
6371 ms8140 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 250005; const int block = 500; int n, k; priority_queue<int> pq; pair<int, int> a[maxn]; void fastIO() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int main() { fastIO(); cin >> n >> k; for (int i = 1; i <= n; ++i) { cin >> a[i].first >> a[i].second; } sort(a + 1, a + n + 1); /*for (int i = 1; i <= n; ++i) { cout << a[i].first << " " << a[i].second << "\n"; }*/ for (int i = 1; i <= n; ++i) { int upTo = max(1, i - block), dist; for (int j = i - 1; j >= upTo; --j) { dist = a[i].first - a[j].first + abs(a[i].second - a[j].second); //cout << i << " :: " << j << " -> " << dist << endl; pq.push(dist); if (pq.size() > k) { pq.pop(); } } } stack<int> ans; while (!pq.empty()) { ans.push(pq.top()); pq.pop(); } while (!ans.empty()) { cout << ans.top() << "\n"; ans.pop(); } return 0; }

Compilation message (stderr)

road_construction.cpp: In function 'int main()':
road_construction.cpp:49:27: warning: comparison of integer expressions of different signedness: 'std::priority_queue<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   49 |             if (pq.size() > k)
      |                 ~~~~~~~~~~^~~
#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...