Submission #123234

#TimeUsernameProblemLanguageResultExecution timeMemory
123234cveleKisik (COCI19_kisik)C++14
80 / 90
2078 ms61116 KiB
#include <iostream> #include <sstream> #include <cstdio> #include <cstdlib> #include <cmath> #include <cctype> #include <cstring> #include <climits> #include <iomanip> #include <bitset> #include <algorithm> #include <vector> #include <stack> #include <queue> #include <deque> #include <set> #include <list> #include <map> using namespace std; #define int long long const int N = 1000005; int n, k; vector < pair <int, int> > vec; multiset <int> ms; int32_t main() { cin >> n >> k; for (int i = 0; i < n; i++) { int w, h; cin >> w >> h; vec.push_back({h, w}); } sort(vec.begin(), vec.end()); int pos = 0; long long ans = 2e18, sum = 0; for (int i = 1; i < N; i++) { bool now = 0; if (pos < vec.size() && vec[pos].first == i) now = 1; while (pos < vec.size() && vec[pos].first == i) { sum += vec[pos].second; ms.insert(vec[pos].second); pos++; } while (ms.size() > k) { sum -= *ms.rbegin(); ms.erase(--ms.end()); } if (now && ms.size() == k) { ans = min(ans, 1ll * sum * i); } } cout << ans << endl; return 0; }

Compilation message (stderr)

kisik.cpp: In function 'int32_t main()':
kisik.cpp:42:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (pos < vec.size() && vec[pos].first == i) now = 1;
         ~~~~^~~~~~~~~~~~
kisik.cpp:43:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (pos < vec.size() && vec[pos].first == i) {
            ~~~~^~~~~~~~~~~~
kisik.cpp:48:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (ms.size() > k) {
            ~~~~~~~~~~^~~
kisik.cpp:52:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (now && ms.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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...