Submission #1193620

#TimeUsernameProblemLanguageResultExecution timeMemory
1193620Bui_Quoc_CuongCloud Computing (CEOI18_clo)C++20
100 / 100
223 ms1292 KiB
#pragma GCC optimize("O2") #pragma GCC target("avx,avx2,fma") #include <bits/stdc++.h> using namespace std; #define ALL(A) A.begin(), A.end() #define FOR(i, a, b) for(int i = (a); i <= (int)(b); i++) #define FORD(i, a, b) for(int i = (a); i >= (int)b; i--) #define TIME (1.0 * clock() / CLOCKS_PER_SEC) #define fi first #define se second const int oo = (int) 2e9; const long long INF = (long long) 1e18; const int MAXN = (int) 4e5 + 5; int N, M; struct Computer { int c, f, v; } com[MAXN]; struct Bills { int c, f, v; } bill[MAXN]; long long dp[MAXN]; signed main(void) { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); #define Hori "" if (fopen(Hori".inp", "r")) { freopen(Hori".inp", "r", stdin); freopen(Hori".out", "w", stdout); } cin >> N; for (int i = 1; i <= N; i++) { cin >> com[i].c >> com[i].f >> com[i].v; } cin >> M; for (int i = 1; i <= M; i++) { cin >> bill[i].c >> bill[i].f >> bill[i].v; } sort(com + 1, com + 1 + N, [&](Computer u, Computer v) { return u.f > v.f; }); sort(bill + 1, bill + 1 + M, [&](Bills u, Bills v) { return u.f > v.f; }); FOR(i, 0, 100000) dp[i] = - INF; int sum = 0, j = 1; long long ans = 0; dp[0] = 0; for (int i = 1; i <= M; i++) { while (j <= N && com[j].f >= bill[i].f) { sum+= com[j].c; for (int x = sum; x >= com[j].c; x--) { dp[x] = max(dp[x], dp[x - com[j].c] - com[j].v); } j++; } for (int x = bill[i].c; x <= sum; x++) { dp[x - bill[i].c] = max(dp[x - bill[i].c], dp[x] + bill[i].v); ans = max(ans, dp[x - bill[i].c]); } } cout << ans; return void(cerr << "KO :" << TIME << "s "), (0 ^ 0); }

Compilation message (stderr)

clo.cpp: In function 'int main()':
clo.cpp:31:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |         freopen(Hori".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
clo.cpp:32:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |         freopen(Hori".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...