# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
83370 | charlies_moo | Rasvjeta (COCI17_rasvjeta) | C++98 | 3 ms | 532 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<cmath>
const int MAXN=1002;
typedef long long l;
typedef bool b;
using namespace std;
l n,m,k;
l lamp[MAXN];
l size_max;
l size_low;
//l siz=0;
l cnt=0;
b flag=false;
int main(void)
{
ios::sync_with_stdio(false);
memset(lamp,-1,sizeof(lamp));
cin >> n >> m >> k;
for(l i=0;i<m;i++) cin >> lamp[i];
//cout << lamp[0] << endl;
//cout << lamp[j] << endl;
size_max=lamp[m-1]+k;
//cout << lamp[j]+k << endl;
size_low=lamp[0]-k;
//cout << lamp[j]-k << endl;
if(size_low<=0) size_low=0;
/*for(int i=0;i<MAXN;i++)
{
if(size[i]!=0) siz++;
else break;
}*/
//cout << size_max << endl;
//cout << size_low << endl;
if(size_max<n)
{
//cout << (n-size_max)/(2*k+1) << endl;
if((n-size_max)/(2*k+1)>1) cnt+=(n-size_max)/(2*k+1);
else if((n-size_max)/(2*k+1)>=0&&(n-size_max)/(2*k+1)<1) cnt+=1;
flag=true;
}
if(size_low>0)
{
cnt+=(size_low)/(2*k+1);
flag=true;
}
//unique(_ForwardIterator __first,_ForwardIterator __last,_BinaryPredicate __pred);
if(flag==true) cout << cnt << endl;
else if(flag==false) cout << "0" << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |