Submission #858968

# Submission time Handle Problem Language Result Execution time Memory
858968 2023-10-09T13:40:46 Z BvoJa Cloud Computing (CEOI18_clo) C++11
18 / 100
322 ms 1508 KB
/**
       />  フ
       |  _  _|
       /`ミ _x 彡
       /      |
      /   ヽ   |
   / ̄|   | | |
   | ( ̄ヽ__ヽ_)_)
   \二つ

 **/

#include<bits/stdc++.h>
#define ll long long
#define pii pair<int, int>
#define fi first
#define se second
#define Pt Point
#define ALL(v) v.begin(), v.end()
#define pb push_back
#define MP make_pair
#define MT make_tuple
#define typeT tuple<int, int, int>
#define FOR(i, a, b) for (int i = (a), _b = (b); i <= _b; i++)
#define FOD(i, a, b) for (int i = (a), _b = (b); i >= _b; i--)
#define MASK(i) (1 << (i))
#define BIT(k, i) (((k) >> (i)) & 1)
const int N = 2e3 + 5;
const int M = 1e5;

using namespace std;
int n, m;
ll dp[M + 5];

struct Computer {
    int c, f, v;

    bool operator < (const Computer &other) const {
        return f > other.f;
    }

} a[N];

bool Maximize(ll &a, ll b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
#define task "a"
    //freopen(task".inp", "r", stdin);
    //freopen(task".out", "w", stdout);

    cin >> n;
    FOR(i, 1, n) {
        int c, f, v; cin >> c >> f >> v;
        a[i] = {c, f, -v};
    }
    cin >> m;
    FOR(i, 1, m) {
        int c, f, v; cin >> c >> f >> v;
        a[++n] = {-c, f, v};
    }

    sort(a + 1, a + 1 + n);
    memset(dp, -0x3f, sizeof dp);
    dp[0] = 0;
    FOR(i, 1, n) {
        int c = a[i].c, v = a[i].v;
        if (c > 0) {
            FOD(j, M - c, 0) Maximize(dp[j + c], dp[j] + v);
        } else FOR(j, -c, M) Maximize(dp[j + c], dp[j] + v);
    }

    ll res = 0;
    FOR(j, 0, M) Maximize(res, dp[j]);

    cout << res;

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1112 KB Output is correct
2 Correct 1 ms 1116 KB Output is correct
3 Correct 9 ms 1116 KB Output is correct
4 Correct 17 ms 1116 KB Output is correct
5 Correct 151 ms 1116 KB Output is correct
6 Correct 165 ms 1280 KB Output is correct
7 Incorrect 153 ms 1288 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1116 KB Output is correct
2 Correct 1 ms 1112 KB Output is correct
3 Correct 10 ms 1116 KB Output is correct
4 Correct 10 ms 1116 KB Output is correct
5 Correct 85 ms 1116 KB Output is correct
6 Correct 85 ms 1116 KB Output is correct
7 Incorrect 186 ms 1292 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 1112 KB Output is correct
2 Correct 5 ms 1116 KB Output is correct
3 Correct 16 ms 1116 KB Output is correct
4 Correct 16 ms 1116 KB Output is correct
5 Correct 32 ms 1508 KB Output is correct
6 Correct 33 ms 1116 KB Output is correct
7 Correct 43 ms 1112 KB Output is correct
8 Correct 43 ms 1116 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1116 KB Output is correct
2 Correct 2 ms 1116 KB Output is correct
3 Correct 140 ms 1248 KB Output is correct
4 Incorrect 147 ms 1256 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1112 KB Output is correct
2 Correct 14 ms 1244 KB Output is correct
3 Correct 90 ms 1236 KB Output is correct
4 Correct 173 ms 1116 KB Output is correct
5 Incorrect 322 ms 1296 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1112 KB Output is correct
2 Correct 1 ms 1116 KB Output is correct
3 Correct 9 ms 1116 KB Output is correct
4 Correct 17 ms 1116 KB Output is correct
5 Correct 151 ms 1116 KB Output is correct
6 Correct 165 ms 1280 KB Output is correct
7 Incorrect 153 ms 1288 KB Output isn't correct
8 Halted 0 ms 0 KB -