Submission #668903

#TimeUsernameProblemLanguageResultExecution timeMemory
668903EvangStove (JOI18_stove)C++17
100 / 100
22 ms2384 KiB
#include <bits/extc++.h> using namespace std; using namespace __gnu_pbds; #ifdef _DEBUG #define dout(x) clog << "Line " << __LINE__ << ": " << #x << "=" << (x) << el #else #define dout(x) #endif mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); #define uid(a,b) uniform_int_distribution<long long>(a,b)(rng) #define ins insert #define sz(x) (int((x).size())) #define bs(args...) binary_search(args) #define lb(args...) lower_bound(args) #define ub(args...) upper_bound(args) #define all(x) (x).begin(),(x).end() #define mp(a, b) make_pair(a, b) #define mt(args...) make_tuple(args) #define pb push_back #define eb emplace_back #define f first #define s second #define die exit(0) #define vc vector #define rsz resize #define as assert template<typename T> using uset = unordered_set<T>; template<typename A, typename B> using umap = unordered_map<A, B>; template<typename T, typename Comp> using pq = std::priority_queue<T, vc<T>, Comp>; template<typename T> using maxpq = pq<T, less<T>>; template<typename T> using minpq = pq<T, greater<T>>; template<typename T> using oset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; template<typename A, typename B> void cmin(A &x, const B &y) { x = min<common_type_t<A, B>>(x, y); } template<typename A, typename B> void cmax(A &x, const B &y) { x = max<common_type_t<A, B>>(x, y); } using db = double; using ld = long double; using ll = long long; using ull = unsigned long long; using bi = __int128; using ubi = unsigned __int128; using pi = pair<int, int>; using pll = pair<ll, ll>; using pdb = pair<db, db>; using pld = pair<ld, ld>; using vb = vc<bool>; using vi = vc<int>; using vvi = vc<vi>; using vll = vc<ll>; using vpi = vc<pi>; using vpll = vc<pll>; using vpdb = vc<pdb>; using vpld = vc<pld>; using str = string; constexpr char el = '\n'; constexpr char sp = ' '; constexpr int inf = 0x3f3f3f3f; constexpr ll llinf = 0x3f3f3f3f3f3f3f3fLL; // --------------------------------------------------------------------- const int N = 1e5+5; int n, k, a[N]; signed main() { ios::sync_with_stdio(0); cin.tie(0); cout << fixed; clog << fixed; clog << unitbuf; #ifndef _DEBUG //freopen(".in", "r", stdin); //freopen(".out", "w", stdout); #endif cin >> n >> k; for(int i = 0; i < n; ++i) cin >> a[i]; sort(a,a+n); vi b; for(int i = 1; i < n; ++i) b.pb(a[i]-a[i-1]-1); sort(all(b), greater<>()); int ans = a[n-1]+1-a[0]; for(int i = 0; i < k-1; ++i) ans -= b[i]; cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...