Submission #707820

#TimeUsernameProblemLanguageResultExecution timeMemory
707820Dan4LifeSemiexpress (JOI17_semiexpress)C++17
18 / 100
1 ms328 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define mp make_pair #define int long long #define sz(a) (int)a.size() const int mxN = (int)3e3+10; const int LINF = (int)2e18; int n, m, k, A, B, C, T, ans, S[mxN]; int32_t main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> n >> m >> k >> A >> B >> C >> T; k-=m; for(int i = 0; i < m; i++) cin >> S[i]; for(int i = 0; i < m; i++){ int cost = (S[i]-1) * B; if(cost>T) break; ans++; if(i==m-1) break; int rem = T-cost; int done = rem/A; if(done>=S[i+1]-S[i]-1) done = min(done, S[i+1]-S[i]-1); ans+=done; for(int l = S[i]+done+1; l < S[i+1] and k; l++){ int cost2 = cost+(l-S[i])*C; if(cost2>T) break; k--; ans++; int As = min(S[i+1]-1-l, (T-cost2)/A); if(As) l+=As, ans+=As; } } cout << ans-1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...