제출 #1185137

#제출 시각아이디문제언어결과실행 시간메모리
1185137omarrrrTwo Dishes (JOI19_dishes)C++20
5 / 100
302 ms16148 KiB
#include<bits/stdc++.h> #define ll long long #define F first #define S second using namespace std; ll const N=3e5; ll a[N],b[N]; ll la[N],lb[N]; ll ra[N],rb[N]; ll n,m; int main(){ cin>>n>>m; ll prefta[n+5],prefra[n+5],preftb[m+5],prefrb[m+5]; prefta[0]=prefra[0]=preftb[0]=prefrb[0]=0; for(ll i=0;i<n;i++){ cin>>a[i]>>la[i]>>ra[i]; prefta[i+1]=prefta[i]+a[i]; prefra[i+1]=prefra[i]+ra[i]; } for(ll i=0;i<m;i++){ cin>>b[i]>>lb[i]>>rb[i]; preftb[i+1]=preftb[i]+b[i]; prefrb[i+1]=prefrb[i]+rb[i]; } ll res=0,x=la[0]; for(ll i=0;i<=n;i++){ ll y= upper_bound(preftb,preftb+m+1,x-prefta[i])-preftb; res=max(res,prefra[i]+prefrb[y-1]); if(prefta[i+1]>x) break; } cout<<res<<"\n"; return 0; } /* 2 1 1 5 5 2 3 5 1 6 5 */
#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...