Submission #1234571

#TimeUsernameProblemLanguageResultExecution timeMemory
1234571Ghulam_JunaidCatfish Farm (IOI22_fish)C++20
6 / 100
50 ms7496 KiB
#include <bits/stdc++.h>
#include "fish.h"
using namespace std;

typedef long long ll;

ll max_weights(int n, int m, vector<int> x, vector<int> y, vector<int> w) {
    ll sm[2] = {};
    vector<pair<int, int>> vec[2];
    for (int i = 0; i < m; i ++){
        sm[x[i]] += w[i];
        vec[x[i]].push_back({y[i], w[i]});
    }
    sort(vec[0].begin(), vec[0].end());
    sort(vec[1].begin(), vec[1].end());

    ll ans = max(sm[0], sm[1]);
    if (n == 2) return ans;

    sm[0] = 0;
    int it = 0;
    for (auto [yy, ww] : vec[0]){
        sm[0] += ww;
        while (it < vec[1].size() and vec[1][it].first <= yy)
            sm[1] -= vec[1][it++].second;
        ans = max(ans, sm[0] + sm[1]);
    }
    return ans;

    // vector<pair<int, int>> vec;
    // for (int i = 0; i < m; i ++)
    //     vec.push_back({x[i], w[i]});
    // sort(vec.begin(), vec.end());

    // ll dp[n] = {};

    return ans;
}
#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...