Submission #169054

#TimeUsernameProblemLanguageResultExecution timeMemory
169054salil03Stove (JOI18_stove)C++14
100 / 100
27 ms3064 KiB
//OPTIMIZATIONS #pragma GCC optimize("O3") //(UNCOMMENT WHEN HAVING LOTS OF RECURSIONS) //#pragma comment(linker, "/stack:200000000") //(UNCOMMENT WHEN NEEDED) //#pragma GCC optimize("Ofast,unroll-loops,no-stack-protector,fast-math") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,tune=native") //OPTIMIZATIONS #include <bits/stdc++.h> typedef long long ll; typedef unsigned long long uu; typedef long long int lll; typedef unsigned long long int uuu; using namespace std; #define watch(x) cerr << "\n" \ << (#x) << " is " << (x) << endl #define cel(x, y) 1 + ((x - 1) / y) const double PI = 3.141592653589793238463; const int MOD = 1000000007; const int INF = 0x3f3f3f3f; /* $alil03 URL: url Solution Begins here */ int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll n, k; cin >> n >> k; k--; ll arr[n] = {}; for (int i = 0; i < n; i++) { cin >> arr[i]; } ll diff[n - 1] = {0}; for (int i = 0; i < n - 1; i++) { diff[i] = arr[i + 1] - arr[i] - 1; } sort(diff, diff + n - 1); ll time = arr[n - 1] + 1 - arr[0]; for (int i = n - 2; i >= 0 && k > 0; i--) { time -= diff[i]; k--; } cout << time; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...