This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ff first
#define ss second
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define N 5005
const ll MOD = 1000000007;
const int INF = 0x3f3f3f3f;
int n, m, k;
ll a, b, c, t;
priority_queue<int> pq;
ll ans = 0;
int d[N];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>k;
cin>>a>>b>>c>>t;
for(int i = 0; i < m; ++i){
cin>>d[i];
--d[i];
}
d[m] = n;
k -= m;
for(int i = 1; i <= m; ++i){
ll w = t - d[i - 1] * b;
n = d[i] - d[i - 1];
if(w < 0) break;
int s = min((ll)n, w / a + 1);
ans += s;
n -= s;
w -= s * c;
int q = k;
while(w >= 0 && n && q--){
s = min((ll)n, w / a + 1);
pq.push(s);
w -= s * c;
n -= s;
}
}
while(!pq.empty() && k--){
ans += pq.top();
pq.pop();
}
cout<<ans - 1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |