Submission #321659

# Submission time Handle Problem Language Result Execution time Memory
321659 2020-11-13T01:29:50 Z casperwang Semiexpress (JOI17_semiexpress) C++14
100 / 100
16 ms 4580 KB
#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

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 time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 376 KB Output is correct
13 Correct 1 ms 512 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Correct 1 ms 364 KB Output is correct
16 Correct 1 ms 364 KB Output is correct
17 Correct 1 ms 364 KB Output is correct
18 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 376 KB Output is correct
13 Correct 1 ms 512 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Correct 1 ms 364 KB Output is correct
16 Correct 1 ms 364 KB Output is correct
17 Correct 1 ms 364 KB Output is correct
18 Correct 1 ms 364 KB Output is correct
19 Correct 1 ms 364 KB Output is correct
20 Correct 1 ms 364 KB Output is correct
21 Correct 1 ms 364 KB Output is correct
22 Correct 2 ms 620 KB Output is correct
23 Correct 16 ms 4580 KB Output is correct
24 Correct 1 ms 492 KB Output is correct
25 Correct 1 ms 364 KB Output is correct
26 Correct 1 ms 364 KB Output is correct
27 Correct 1 ms 364 KB Output is correct
28 Correct 1 ms 492 KB Output is correct
29 Correct 11 ms 4580 KB Output is correct
30 Correct 7 ms 2536 KB Output is correct