Submission #1250301

#TimeUsernameProblemLanguageResultExecution timeMemory
1250301ubormaciStove (JOI18_stove)C++20
100 / 100
13 ms1096 KiB
#include <iostream> #include <algorithm> // for sort, mainly #include <vector> #include <map> #include <set> #include <cmath> #include <array> #include <string> #include <cstdio> #include <iterator> #include <unordered_set> #include <cstdint> // for int64_t, int32_t, etc #include <queue> #include <stack> #include <deque> #include <numeric> // gcd, lcm #include <fstream> #include <bitset> // for bitset #include <iomanip> #include <cassert> // for set with custom ordering #include <type_traits> // for set with custom ordering #include <utility> // for swap, forward, etc using namespace std; #pragma GCC optimize("O2") // #pragma GCC optimize("O1","O2","O3","Ofast","unroll-loops") //#pragma GCC target("sse","sse2","sse3","sse4.1","sse4.2","avx","avx2","fma") 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 dbg_out() { cout << endl; } template<typename Head, typename... Tail> void dbg_out(Head H, Tail... T) { cout << ' ' << H; dbg_out(T...); } #ifdef LOCAL #define dbg(...) cout << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__) #else #define dbg(...) #endif /* notes: int64_t stoi(string s) -> string to int to_string() -> int (or else) to string vector declaration: vector<ll> v(n, 0) vector<vector<ll>> v(n, vector<ll>(n, 0)); {if statement} ? {truth value} : {false value} set lower bound/upper bound: // . . . m1 . . . d . . . . m2 auto m1_it = b.lower_bound(d); advance(m1_it, -1); m1 = *m1_it; m2 = *b.upper_bound(d); #ifdef LOCAL freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); #endif constexpr auto lcm(auto x, auto... xs) { return ((x = std::lcm(x, xs)), ...); } std::gcd(int a, int b) cout << setprecision(n); set with custom ordering set<ll, decltype(&cmp)> qu(cmp); */ typedef int64_t ll; void solve() { ll n, k; cin >> n >> k; if(n == 1 || n == k) { cout << n; return; } vector<ll> v(n-1, 0); ll f = 0; cin >> f; ll b = n; for(ll i = 0; i < n - 1; i++) { ll c = 0; cin >> c; v[i] = c - (f + 1); f = c; } k = n - k; //cerr << "\nn=" << n << "; k=" << k; //cerr << "\nv=" << v; sort(v.begin(), v.end()); for(ll i = 0; i < k; i++) { b += v[i]; } cout << b; } int main() { std::ios_base::sync_with_stdio(false); //cin.tie(nullptr); //cout.tie(nullptr); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...