# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
903920 |
2024-01-11T14:38:42 Z |
zhasyn |
Stove (JOI18_stove) |
C++17 |
|
1000 ms |
348 KB |
#include <bits/stdc++.h>
#define pb push_back
#define pf push_front
using namespace std;
#define F first
#define S second
typedef long long ll;
#define pii pair <int, int>
#define pll pair <ll, ll>
typedef long double ld;
const ll N = 2 * 1e5 + 10, len = 316;
const ll mod = 1e9 + 7;
ll um(ll a, ll b){
return ((1LL * a * b) % mod + mod) % mod;
}
ll subr(ll a, ll b){
return ((1LL * a - b) % mod + mod) % mod;
}
int arr[N];
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n, k, ans = 0;
cin >> n >> k;
for(int i = 0; i < n; i++){
cin >> arr[i];
}
sort(arr, arr + n);
set <int> st;
int cur = arr[0], fir = arr[0], cnt = 1;
for(int i = 1; i < n; i++){
if(arr[i] - cur <= 1) cur = arr[i];
else{
ans += (cur - fir + 1);
cnt++;
st.insert({arr[i] - cur - 1});
cur = fir = arr[i];
}
}
ans += (cur - fir + 1);
while(cnt > k){
ans += *st.begin();
st.erase(st.begin());
cnt--;
}
cout << ans;
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1046 ms |
348 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1046 ms |
348 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1046 ms |
348 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |