Submission #828840

#TimeUsernameProblemLanguageResultExecution timeMemory
828840cgiosy격자 보존하기 (GA9_preserve)C++17
100 / 100
20 ms1676 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	ios::sync_with_stdio(0);cin.tie(0);
	int M, N, K;
	cin>>M>>N>>K;
	int A[N+1], x=0;
	for(int i=0, y; i<N; i++) cin>>y, A[i]=y-x-1, x=y;
	A[N]=M-x;
	sort(A+1, A+N);
	auto f=[&](int t) {
		int n=max(0, 2*N-K-t+1>>1), m=M-N;
		for(int i=1; i<=n; i++) m-=A[i];
		return m;
	};
	cout<<max({f(0), f(1)-min(A[0], A[N]), f(2)-A[0]-A[N]})<<'\n';
}

Compilation message (stderr)

preserve.cpp: In lambda function:
preserve.cpp:13:23: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   13 |   int n=max(0, 2*N-K-t+1>>1), m=M-N;
      |                ~~~~~~~^~
#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...