Submission #1150896

#TimeUsernameProblemLanguageResultExecution timeMemory
1150896danglayloi1Stove (JOI18_stove)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h> #define ii pair<int, int> #define fi first #define se second #define inf 0x3f3f3f3f3f3f3f3f using namespace std; using ll = long long; const ll mod=1e9+7; const int nx=1e5+5; int n, k, a[nx]; ii cur={-1, -1}; vector<ii> b; vector<int> len; ll ans; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>k; for(int i = 1; i <= n; i++) cin>>a[i]; sort(a+1, a+n+1); for(int i = 1; i <= n; i++) { if(cur.fi==-1) cur={a[i], a[i]+1}; else if(a[i]<=cur.se+1) cur.se=a[i]+1; else b.emplace_back(cur), cur={-1, -1}; } if(cur.fi!=-1) b.emplace_back(cur); sort(b.begin(), b.end()); for(int i = 1; i < b.size(); i++) len.emplace_back(b[i].fi-b[i-1].se-1); ans=b.back().se-b[0].fi+1; sort(len.begin(), len.end(), greater<int>()); for(int i = 0; i < min(k-1, (int)len.size()); i++) ans-=len[i]; cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...