Submission #1183531

#TimeUsernameProblemLanguageResultExecution timeMemory
1183531amine_arouaTwo Dishes (JOI19_dishes)C++20
0 / 100
297 ms12940 KiB
#include<bits/stdc++.h> using namespace std; #define int long long const int INF = 3e18; signed main() { int n , m; cin>>n>>m; vector<int> a(n + 1) , s(n + 1) , p(n + 1) , b(m + 1) , t(m + 1) , q(m + 1) , f(n + 2) , g(m + 1); for(int i = 1 ; i <= n ; i++) { cin>>a[i]>>s[i]>>p[i]; f[i] = a[i] + f[i - 1]; p[i]+=p[i - 1]; } f[n + 1] = f[n]; for(int i = 1 ; i <= m ; i++) { cin>>b[i]>>t[i]>>q[i]; g[i] = b[i] + g[i - 1]; q[i]+=q[i - 1]; } int T = s[1]; int ans = -INF; for(int i = 0 ; i <= n ; i++) { int it = upper_bound(g.begin() , g.end() , T - f[i]) - g.begin(); it--; if(it < 0) continue; if(g[it] + f[i + 1] <= T) continue; ans = max(ans , p[i] + q[it]); } cout<<ans<<'\n'; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...