Submission #1267154

#TimeUsernameProblemLanguageResultExecution timeMemory
1267154gry3125Catfish Farm (IOI22_fish)C++20
6 / 100
81 ms15788 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 < M; 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 : b) cur += x.se;
  mx = max(mx, cur);
  if (N == 2) {
  	cur = 0; 
  	for (auto x : a) cur += x.se;
  	mx = max(mx, cur);
  	return mx;
  }
  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++;
    }
    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...