제출 #417611

#제출 시각아이디문제언어결과실행 시간메모리
417611TricksterStove (JOI18_stove)C++14
100 / 100
24 ms3408 KiB
//Suleyman Atayew #include <algorithm> #include <iostream> #include <string.h> #include <stdio.h> #include <vector> #include <bitset> #include <queue> #include <cmath> #include <map> #include <set> #define N 200010 #define ff first #define ss second #define pb push_back #define ll long long #define mod 1000000007 #define pii pair <int, int> #define sz(a) (int)(a.size()) ll bigmod(ll a, ll b) { if(b==0)return 1; ll ret = bigmod(a, b/2); return ret * ret % mod * (b%2 ? a : 1) % mod; } using namespace std; int n, k; int v[N]; vector <pii> V; int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n >> k; for(int i = 1; i <= n; i++) cin >> v[i]; int ans = 0; for(int i = 1; i <= n; i++) { int x = i; while(v[i] == v[i+1]-1) i++; V.pb({v[x], v[i]}); ans += v[i]-v[x]+1; } vector <int> dis; for(int i = 1; i < sz(V); i++) dis.pb(V[i].ff-V[i-1].ss-1); sort(dis.begin(), dis.end()); for(int i = 0; i < sz(V)-k; i++) ans += dis[i]; cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...