Submission #245644

#TimeUsernameProblemLanguageResultExecution timeMemory
245644HachiMinhSemiexpress (JOI17_semiexpress)C++14
100 / 100
24 ms4592 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long ll n,m,k,a,b,c,t,station[3007],ans; vector<ll> HMS; int main() { cin>>n>>m>>k>>a>>b>>c>>t; for(ll i=0;i<m;i++) cin>>station[i]; k-=m; station[m]=n+1; for(ll i=0;i<m;i++) { ll time=t-(station[i]-1)*b; ll mid=station[i+1]-station[i]; if(time<0) break; ll mxst=min(mid,time/a+1); ans+=mxst; mid-=mxst; time-=c*mxst; ll k1=k; while(k1--&&mid&&time>=0) { ll mxst=min(mid,time/a+1); HMS.push_back(mxst); mid-=mxst; time-=mxst*c; } } sort(HMS.begin(),HMS.end()); k=min(k,(ll)HMS.size()); for(ll i=1;i<=k;i++) { ans+=HMS[HMS.size()-i]; } cout<<ans-1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...