Submission #530535

#TimeUsernameProblemLanguageResultExecution timeMemory
530535peuchHotel (CEOI11_hot)C++17
100 / 100
418 ms30000 KiB
#include<bits/stdc++.h>
using namespace std;

const int MAXN = 5e5 + 10;

int n, m, o;
pair<int, int> v[MAXN];
pair<int, int> p[MAXN];
vector<int> moedas;

int main(){
  scanf("%d %d %d", &n, &m, &o);
  for(int i = 1; i <= n; i++)
    scanf("%d %d", &v[i].second, &v[i].first);
  sort(v + 1, v + 1 + n);
  for(int i = 1; i <= m; i++)
    scanf("%d %d", &p[i].second, &p[i].first);
  sort(p + 1, p + 1 + m);
  int id = 1;
  multiset<int> s;
  for(int i = 1; i <= n; i++){
    while(id <= m && p[id].first <= v[i].first){
      s.insert(-p[id].second);
      id++;
    }
    if(!s.empty()){
      moedas.push_back((*s.begin()) + v[i].second);
      s.erase(s.begin());
    }
  }
  long long ans = 0;
  long long sum = 0;
  sort(moedas.begin(), moedas.end());
  for(int i = 0; i < min(o, (int) moedas.size()); i++){
    sum -= moedas[i];
    ans = max(ans, sum);
  }
  printf("%lld\n", ans);
}

Compilation message (stderr)

hot.cpp: In function 'int main()':
hot.cpp:12:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |   scanf("%d %d %d", &n, &m, &o);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
hot.cpp:14:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |     scanf("%d %d", &v[i].second, &v[i].first);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hot.cpp:17:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |     scanf("%d %d", &p[i].second, &p[i].first);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...