Submission #444597

#TimeUsernameProblemLanguageResultExecution timeMemory
444597keta_tsimakuridzeCloud Computing (CEOI18_clo)C++14
100 / 100
325 ms1228 KiB
#include<bits/stdc++.h> #define f first #define s second #define ll long long using namespace std; const int N=4005,mod=1e9+7; ll dp[N*25]; int n,m; pair< pair<int,int> ,pair<int,int > > p[N]; main(){ ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0); cin>>n; int sum = 0; for(int i=1;i<=n;i++) { cin >> p[i].s.f >>p[i].f.f>>p[i].s.s; p[i].f.s = 1; sum += p[i].s.f; } for(int i=1;i<=sum;i++) dp[i] = -1e14; sum = 0; cin>>m; for(int i=1+n;i<=n+m;i++) { cin>>p[i].s.f>>p[i].f.f>>p[i].s.s; p[i].f.s = 0; } n+=m; sort(p+1,p+n+1); reverse(p+1,p+n+1); for(int i=1; i<=n; i++) { if(p[i].f.s) { for(int j = sum; j >= 0; j--) { dp[j + p[i].s.f] = max(dp[j] - p[i].s.s,dp[j + p[i].s.f]); } sum += p[i].s.f; continue; } for(int j = p[i].s.f; j <= sum; j++) { dp[j - p[i].s.f] = max(dp[j] + p[i].s.s,dp[j - p[i].s.f]); } } ll ans = 0; for(int i=0; i<=sum; i++) ans = max(ans,dp[i]); cout<<ans; }

Compilation message (stderr)

clo.cpp:10:2: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   10 |  main(){
      |  ^~~~
#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...