제출 #1182452

#제출 시각아이디문제언어결과실행 시간메모리
1182452chikien2009Semiexpress (JOI17_semiexpress)C++20
100 / 100
10 ms2496 KiB
#include <bits/stdc++.h>

using namespace std;

void setup()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}

int n, m, k, a, b, c;
long long t, s[3001], d, e, f, res = 0;
vector<int> v;

int main()
{
    setup();

    cin >> n >> m >> k >> a >> b >> c >> t;
    k -= m;
    for (int i = 0; i < m; ++i)
    {
        cin >> s[i];
    }
    s[m] = n + 1;
    for (int i = 0; i < m; ++i)
    {
        d = s[i];
        e = (s[i] - 1) * b;
        for (int j = 0; j <= k && d < s[i + 1]; ++j)
        {
            if (e > t)
            {
                break;
            }
            f = min((t - e) / a, s[i + 1] - d - 1);
            if (j == 0)
            {
                res += f + (i != 0);
            }
            else
            {
                v.push_back(f + 1);
            }
            d += f + 1;
            e += (f + 1) * c;
        }
    }
    sort(v.begin(), v.end(), greater<int>());
    for (int i = 0; i < min(k, (int)v.size()); ++i)
    {
        res += v[i];
    }
    cout << res;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...