Submission #321659

#TimeUsernameProblemLanguageResultExecution timeMemory
321659casperwangSemiexpress (JOI17_semiexpress)C++14
100 / 100
16 ms4580 KiB
#include <bits/stdc++.h> #define int long long #define pb push_back using namespace std; const int MAXN = 3000; int n, m, k; int a, b, c; int T; int s[MAXN+2]; int ans; vector <int> arr; signed main() { ios_base::sync_with_stdio(0), cin.tie(0); cin >> n >> m >> k; cin >> a >> b >> c; cin >> T; for (int i = 1; i <= m; i++) cin >> s[i], s[i]--; s[m+1] = n; for (int i = 1; i <= m; i++) { if (b * s[i] > T) break; int now = (T - b * s[i]) / a + 1; int t = T - b * s[i]; int cnt = 0; ans += min(now, s[i+1] - s[i]); while (cnt < k-m && now < s[i+1] - s[i] && t - c * now >= 0) { int tmp = (t - c * now) / a + 1; arr.pb(min(tmp, s[i+1] - s[i] - now)); now += tmp; cnt++; } } sort(arr.begin(), arr.end(), greater<int>()); for (int i = 0; i < k-m && i < arr.size(); i++) ans += arr[i]; cout << ans-1 << "\n"; }

Compilation message (stderr)

semiexpress.cpp: In function 'int main()':
semiexpress.cpp:36:32: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |   for (int i = 0; i < k-m && i < arr.size(); i++)
      |                              ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...