Submission #897508

#TimeUsernameProblemLanguageResultExecution timeMemory
897508vlnt32Cloud Computing (CEOI18_clo)C++14
0 / 100
4 ms31836 KiB
#include <bits/stdc++.h> #define problem "test" #define ll long long #define pii pair<int,int> #define pll pair<ll,ll> #define fi first #define se second #define ALL(v) (v).begin(),(v).end() #define UNIQUE(v) (v).resize(unique(ALL(v)) - (v).begin()) #define BIT(x,i) (((x) >> (i)) & 1) #define MASK(i) (1LL << (i)) using namespace std; const int N = 2000; struct State{ ll c,f,v; State (ll _c = 0,ll _f = 0,ll _v = 0){ c = _c, f = _f, v = _v; } void input(){ cin>>c>>f>>v; } bool operator < (const State &other) const{ return f < other.f; } }; int n,m; State cpt[N + 5],person[N + 5]; ll maxCore; namespace subtask3{ const int nMax = 2000; ll dp[nMax + 5][nMax + 5],oo; void process(){ memset(dp,-0x3f,sizeof(dp)); oo = dp[0][0]; dp[0][0] = 0; for (int i=1;i<= n;i++ ) for (int j=1;j<= m;j++ ){ dp[i][j] = max({dp[i][j - 1],dp[i - 1][j],dp[i - 1][j - 1]}); if (cpt[i].f >= person[j].f) dp[i][j] = max(dp[i][j],dp[i - 1][j - 1] + person[j].v - cpt[i].v); } cout<<dp[n][m]; } } int main(){ ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); // freopen(problem".inp","r",stdin); // freopen(problem".out","w",stdout); cin>>n; for (int i=1;i<= n;i++ ){ cpt[i].input(); maxCore = max(maxCore,cpt[i].c); } cin>>m; for (int i=1;i<= m;i++ ){ person[i].input(); maxCore = max(maxCore,person[i].c); } sort(cpt + 1,cpt + n + 1); sort(person + 1,person + m + 1); if (maxCore == 1) subtask3 :: process(); }
#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...