Submission #119967

#TimeUsernameProblemLanguageResultExecution timeMemory
119967raghav0307Cloud Computing (CEOI18_clo)C++14
36 / 100
80 ms32452 KiB
/*raghav0307 - Raghav Gupta*/ #include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define fast_io() ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); typedef long long ll; typedef pair<int, int> pii; typedef long double ld; #define int ll struct Item{ int c, f, v, prod; Item (int cc, int ff, int vv, int type) : c(cc), f(ff), v(vv), prod(type) {} }; bool custom(Item a, Item b){ if(a.f < b.f) return false; if(a.f > b.f) return true; if(a.prod == 1) return true; return false; } vector<Item> v; const int MAXN = 2e3 + 5; const int MAXC = 50; int memo[MAXN + 500][800]; int dp(int pos, int left){ if(pos == v.size()) return 0; if(memo[pos][left] != -1) return memo[pos][left]; if(v[pos].prod == 1){ if(left + v[pos].c >= 800) memo[pos][left] = dp(pos + 1, left); return memo[pos][left] = max( dp(pos+1, left + v[pos].c) - v[pos].v, dp(pos+1, left)); } else if(v[pos].prod == 2){ if(v[pos].c <= left) return memo[pos][left] = max(dp(pos + 1, left - v[pos].c) + v[pos].v, dp(pos +1 , left)); return memo[pos][left] = dp(pos + 1, left); } } signed main(){ fast_io(); memset(memo, -1, sizeof(memo)); int n; cin >> n; for(int i = 0; i < n; i++){ int c, f, vv; cin >> c >> f >> vv; v.push_back(Item(c, f, vv, 1)); } int m; cin >> m; for(int i = 0; i < m; i++){ int c, f, vv; cin >> c >> f >> vv; v.push_back(Item(c, f, vv, 2)); } sort(v.begin(), v.end(), custom); // for(auto x : v){ // cout << x.c << " " << x.f << " " << x.v << " " << x.prod << "\n"; // } cout << max(dp(0, 0), 0ll) << "\n"; return 0; }

Compilation message (stderr)

clo.cpp: In function 'll dp(ll, ll)':
clo.cpp:40:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(pos == v.size()) return 0;
     ~~~~^~~~~~~~~~~
clo.cpp:50:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#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...