Submission #12771

#TimeUsernameProblemLanguageResultExecution timeMemory
12771Qwaz격자 보존하기 (GA9_preserve)C++14
0 / 100
28 ms2372 KiB
#include <cstdio> #include <vector> #include <algorithm> using namespace std; const int MAX = 100020; int n, d, k, data[MAX]; void input(){ scanf("%d%d%d", &n, &k, &d); for(int i = 0; i < k; i++) scanf("%d", &data[i]); } vector < int > gap; int res; void solve(){ int front = data[0]-1, rear = n-data[k-1]; for(int i = 1; i < k; i++) gap.push_back(data[i]-data[i-1]-1); sort(gap.begin(), gap.end()); int index = k-1, current = 0; while(index >= 0 && d > 0){ if(index < k-1){ d -= 2; current += gap[index]; } index--; res = max(res, current); if(d >= 1){ res = max(res, current+front); res = max(res, current+rear); } if(d >= 2) res = max(res, current+front+rear); } printf("%d\n", res); } int main(){ input(); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...