Submission #1049785

#TimeUsernameProblemLanguageResultExecution timeMemory
1049785vjudge1Stove (JOI18_stove)C++17
100 / 100
13 ms2028 KiB
/* Author: ArifKraw Rating: 1379 Goal#1: Beat I_Love_Trott )))) Goal#2: Not to allow FractalFrog beat myself */ #include <bits/stdc++.h> using namespace std; #define pb push_back #define pf push_front #define ppf pop_front #define ppb pop_back #define mp make_pair #define ff first #define ss second #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define ll long long #define ld long double #define nl '\n' const ll N = 1e5 + 7; const ll mod = 1e9 + 7; const ll inf = 1e18; const ld pi = 3.141592653589793; const ld eps = 1e-12; const ll zero = 0; const int MAX = 1e6+5; const int A = 1e9 + 5; /*if you cant solve the problem: try optimized(clever) brute-force; try prefix sums with/or binary search try dp try dfs try to solve in reversed orderr try math try to sort(sort(a+1,a+1+n) int overflow, array bounds think about special cases( n=1?) */ ll xx1[8]={0, 0,-1, 1, 1,-1, 1,-1}; ll xx2[8]={1,-1, 0, 0, 1, 1,-1,-1}; ll a[N],val[N]; void egoist(){ ll n,k; cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=2;i<=n;i++){ val[i-1]=a[i]-a[i-1]; } n--; ll ans=0; sort(val+1,val+n+1); for(int i=1;i<=n+1-k;i++){ ans+=val[i]; } cout<<ans+k<<nl; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); //freopen("sparse.in", "r", stdin); //freopen("sparse.out", "w", stdout); egoist(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...