Submission #955592

#TimeUsernameProblemLanguageResultExecution timeMemory
955592horiseunStove (JOI18_stove)C++17
0 / 100
0 ms348 KiB
#include <iostream> #include <vector> #include <tuple> #include <set> #include <map> #include <stack> #include <queue> #include <deque> #include <cmath> #include <array> #include <random> #include <climits> #include <cassert> #include <algorithm> using namespace std; template<typename A, typename B> ostream& operator << (ostream &os, const pair<A, B> &p) { return os << '(' << p.first << ", " << p.second << ')'; } template<typename T_container, typename T = typename enable_if<!is_same<T_container, string>::value, typename T_container::value_type>::type> ostream& operator << (ostream &os, const T_container &v) { os << '{'; string sep; for (const T &x : v) { os << sep << x, sep = ", "; } return os << '}'; } void D_out() { cerr << endl; } template<typename Head, typename... Tail> void D_out(Head H, Tail... T) { cerr << ' ' << H; D_out(T...); } #ifdef DEBUG #define D(...) cerr << '(' << #__VA_ARGS__ << "):", D_out(__VA_ARGS__) #else #define D(...) #endif //#define int long long #define ll long long #define ld long double #define f first #define s second #define sz(x) ((int) x.size()) #define all(x) (x).begin(), (x).end() const ll MOD = 1e9 + 7; const ll INF = 1e18; int n, k, t[100005], ans; vector<int> diff; void solve() { cin >> n >> k; for (int i = 0; i < n; i++) { cin >> t[i]; ans = max(ans, t[i]); if (i) diff.push_back(t[i] - t[i - 1] - 1); } sort(diff.begin(), diff.end(), greater<int>()); for (int i = 0; i < k - 1; i++) { ans -= diff[i]; } cout << ans << "\n"; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); int t = 1; //cin >> t; for (int tc = 1; tc <= t; tc++) { //cout << "Case #" << tc << ": "; solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...