Submission #234127

#TimeUsernameProblemLanguageResultExecution timeMemory
234127RiscadoABulldozer (JOI17_bulldozer)C++14
0 / 100
5 ms384 KiB
#include <bits/stdc++.h>

using namespace std;

struct Point {
    int64_t x, y, w;
};

int main() {
    //freopen("in.txt", "r", stdin);

    ios::sync_with_stdio(false);
    cin.tie(0);

    int N;
    vector<Point> P;

    cin >> N;
    P.resize(N);
    for (int i = 0; i < N; ++i) {
        cin >> P[i].x >> P[i].y >> P[i].w;
    }

    int64_t max_sum = 0;
    
    sort(P.begin(), P.end(), [](const Point& lhs, const Point& rhs) -> bool {
        return lhs.x < rhs.x;
    });

    for (int64_t i = 0, sum = 0; i < N; ++i) {
        if (P[i].w > P[i].w + sum) {
            sum = P[i].w;
        } else {
            sum += P[i].w;
        }

        max_sum = max(max_sum, sum);
    }

    sort(P.begin(), P.end(), [](const Point& lhs, const Point& rhs) -> bool {
        return lhs.y < rhs.y;
    });

    for (int64_t i = 0, sum = 0; i < N; ++i) {
        if (P[i].w > P[i].w + sum) {
            sum = P[i].w;
        } else {
            sum += P[i].w;
        }

        max_sum = max(max_sum, sum);
    }

    cout << max_sum << endl;
}
#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...