이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
#include <algorithm>
using namespace std;
int N, K, D, P, A[100002], Cnt, Ans;
int main(void) {
int i, Prev=0, t1, t2;
scanf("%d %d %d",&N,&K,&D);
for(i=1 ; i<=K ; i++) {
scanf("%d",&P);
A[++Cnt]=P-Prev-1;
Prev=P;
}
A[++Cnt]=N-Prev;
sort(A+2,A+Cnt);
t1=t2=0;
for(i=Cnt-1 ; i>=2 ; i--) {
t2+=2;
if(t2>D)
break;
t1+=A[i];
}
if(Ans<t1)
Ans=t1;
t1=A[1];
t2=1;
for(i=Cnt-1 ; i>=2 ; i--) {
t2+=2;
if(t2>D)
break;
t1+=A[i];
}
if(Ans<t1)
Ans=t1;
t1=A[Cnt];
t2=1;
for(i=Cnt-1 ; i>=2 ; i--) {
t2+=2;
if(t2>D)
break;
t1+=A[i];
}
if(Ans<t1)
Ans=t1;
t1=A[1]+A[Cnt];
t2=2;
for(i=Cnt-1 ; i>=2 ; i--) {
t2+=2;
if(t2>D)
break;
t1+=A[i];
}
if(Ans<t1)
Ans=t1;
printf("%d",Ans);
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |