Submission #1200870

#TimeUsernameProblemLanguageResultExecution timeMemory
1200870nguynSemiexpress (JOI17_semiexpress)C++20
100 / 100
11 ms4540 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ll long long #define F first #define S second #define pb push_back #define pii pair<int,int> const int N = 3e3 + 5; int n, m, k; int a, b, c; int t, s[N]; signed main(){ ios_base::sync_with_stdio(false) ; cin.tie(0) ; cout.tie(0) ; if (fopen("INP.INP" ,"r")) { freopen("INP.INP" ,"r" , stdin) ; freopen("OUT.OUT" , "w" , stdout) ; } cin >> n >> m >> k; k -= m; cin >> a >> b >> c; cin >> t; for (int i = 1; i <= m; i++) { cin >> s[i]; } int res = -1; vector<int> vec; for (int i = 1; i < m; i++) { int cost = (s[i] - 1) * b; if (cost > t) break; int l = s[i]; int r = s[i + 1]; int rem = t - cost; int nxt = min(l + (rem / a) + 1, r); // cout << i << ' ' << nxt << ":" << endl; res += nxt - l; int cnt = 0; while(1) { l = nxt; int cur_rem = rem - (l - s[i]) * c; if (cur_rem < 0) break; cnt++; nxt = min(l + (cur_rem / a) + 1, r); // cout << l << ' ' << nxt << endl; vec.pb(nxt - l); if (nxt >= r || cnt >= k) { break; } } } if ((n - 1) * b <= t) res++; sort(vec.begin(), vec.end()); // for (int i : vec) { // cout << i << ' '; // } cout << endl; for (int i = vec.size() - 1; i >= max(0ll, (int)vec.size() - k); i--) { res += vec[i]; } cout << res; }

Compilation message (stderr)

semiexpress.cpp: In function 'int main()':
semiexpress.cpp:21:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |         freopen("INP.INP" ,"r" , stdin) ;
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
semiexpress.cpp:22:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |         freopen("OUT.OUT" , "w" , stdout) ;
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...