Submission #1263722

#TimeUsernameProblemLanguageResultExecution timeMemory
1263722gry3125Catfish Farm (IOI22_fish)C++20
0 / 100
35 ms5704 KiB
#include "fish.h"
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define fi first
#define se second
using namespace std;

// sub 2
ll max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) {
  vector<pair<ll,ll>> a, b;
  for (int i = 0; i < N; i++) {
    if (X[i] == 0) a.pb({Y[i],W[i]});
    else b.pb({Y[i],W[i]});
  }
  sort(all(a)); sort(all(b));
  ll cur = 0, mx = 0; int R = 0;
  for (auto x : a) cur += x.se;
  mx = max(mx, cur); cur = 0;
  for (auto x : b) cur += x.se;
  mx = max(mx, cur);
  for (int i = 0; i < a.size(); i++) {
    cur += a[i].se; 
    while (R < b.size() && b[R].fi <= a[i].fi) {
      cur -= b[R].se; R++;
    }
    if (R == b.size()) break;
    mx = max(mx, cur);
  }
  return mx;
}
#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...