제출 #245644

#제출 시각아이디문제언어결과실행 시간메모리
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...