Submission #169503

#TimeUsernameProblemLanguageResultExecution timeMemory
169503combi1k1Semiexpress (JOI17_semiexpress)C++14
48 / 100
741 ms262148 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define X first #define Y second #define all(x) x.begin(),x.end() #define sz(x) (int)x.size() #define pb emplace_back #define endl "\n" const ll inf = 1e18; const int N = 2e5 + 5; typedef pair<int,int> ii; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, k, m; cin >> n >> m >> k; ll A, B, C; cin >> A >> B >> C; ll T; cin >> T; vector<int> s(m); vector<ll> pot; for(int i = 0 ; i < m ; ++i) cin >> s[i]; s.pb(n + 1); for(int i = 0 ; i < m ; ++i) { ll rem = T - B * (s[i] - 1); int rig = s[i]; if (rem < 0) { pot.pb(n); continue; } int Q = 1; while (rig < s[i + 1]) { ll nxt = rig + rem / A + 1; if (nxt > s[i + 1]) nxt = s[i + 1]; ll len = nxt - rig; pot.pb(len + Q * n); Q = 0; rig += len; rem -= len * C; if (rem < 0) break; } } sort(pot.begin(),pot.end(),greater<ll>()); if (k > sz(pot)) k = sz(pot); cout << accumulate(pot.begin(),pot.begin() + k,0ll) - 1ll * m * n - 1 << endl; } /* 300 8 16 345678901 123456789 234567890 12345678901 1 10 77 82 137 210 297 300 */

Compilation message (stderr)

semiexpress.cpp: In function 'int main()':
semiexpress.cpp:32:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for(int i = 0 ; i < m ; ++i)    cin >> s[i];    s.pb(n + 1);
     ^~~
semiexpress.cpp:32:53: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
     for(int i = 0 ; i < m ; ++i)    cin >> s[i];    s.pb(n + 1);
                                                     ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...