Submission #1267149

#TimeUsernameProblemLanguageResultExecution timeMemory
1267149longggggCloud Computing (CEOI18_clo)C++17
100 / 100
716 ms2120 KiB
#include <bits/stdc++.h> using namespace std; //====== BITWISE ======// #define MASK(i) (1LL << (i)) #define BIT(x, i) (((x) >> (i)) & 1) #define ON(x, i) ((x) | MASK(i)) #define OFF(x, i) ((x) & ~MASK(i)) #define LASTBIT(mask) ((mask) & -(mask)) #define SUBMASK(sub, mask) for (int sub = (mask); sub >= 1; sub = (sub - 1) & (mask)) //====== OTHER ======// #define fi first #define se second #define ll long long #define endl '\n' #define sz(x) (int)x.size() #define all(x) begin(x), end(x) #define mod(x, k) ((((x) % (k)) + (k)) % (k)) #define compress(c) sort(all(c)); c.erase(unique(all(c)), c.end()); #define Longgggg ios_base::sync_with_stdio(0); cin.tie(0); #define FOR(i, a, b) for (int i = (a); i <= (b); ++i) #define FORD(i, a, b) for (int i = (a); i >= (b); --i) //====== FILE ======// #define IN "A.in" #define OUT "A.out" #define DEBUG "debug.out" //==================// const int INF = (int) 1e9+5; const ll LINF = (ll) 1e18; const ll MOD = (ll) 1e9+7; const int mxN = (int) 2e5+5; struct Computer { int c, f, v, op; }; // Uu tien may co f lon hon de neu co don can f thi se luon co may du lon de dap ung bool cmp(Computer &a, Computer &b) { if (a.f == b.f) return a.op < b.op; return a.f > b.f; } void solve() { int n; cin >> n; vector <Computer> a(n); FOR(i, 1, n) { int c, f, v; cin >> c >> f >> v; a.push_back({c, f, v, 1}); } int m; cin >> m; FOR(i, 1, m) { int c, f, v; cin >> c >> f >> v; a.push_back({c, f, v, 2}); } sort(all(a), cmp); vector <ll> dp(mxN+1, -LINF); dp[0] = 0; for (auto &x : a) { int c = x.c, f = x.f, v = x.v, op = x.op; if (op == 1) { // Co duoc them c core FORD(i, mxN, c) if (dp[i-c] != -LINF) dp[i] = max(dp[i], dp[i-c] - v); } else { // Su dung het c core FOR(i, 0, mxN-c) if (dp[i+c] != -INF) dp[i] = max(dp[i], dp[i+c] + v); } } cout << *max_element(all(dp)) << endl; } signed main() { if (fopen(IN, "r")) { freopen(IN, "r", stdin); freopen(OUT, "w", stdout); freopen(DEBUG, "w", stderr); } Longgggg ll t = 1; // cin >> t; while (t--) solve(); return 0; }

Compilation message (stderr)

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