제출 #171933

#제출 시각아이디문제언어결과실행 시간메모리
171933ToniBRasvjeta (COCI17_rasvjeta)C++14
45 / 50
2 ms380 KiB
#include <iostream> #include <algorithm> #include <string> using namespace std; int main(){ int n, m, k; cin >> n >> m >> k; int ulica[n] = {0}; for(int i = 0; i < m; ++i){ int s; cin >> s; s -= 1; for(int j = (s - k); j <= (s + k); ++j){ if(j >= 0 and j < n) ulica[j] = 1; } } int coord1 = 0, coord2 = 0; int len = 0, sol = 0; for(int i = 0; i < n; ++i){ if(ulica[i] == 0 and coord1 == 0){ coord1 = i; len = 1; } else if(ulica[i] == 0 and coord1 != 0){ len += 1; } else if(ulica[i] == 1 and coord1 != 0){ coord2 = i; int uk = 0; uk = len / (2 * k + 1); if(len % (2 * k + 1) != 0) uk++; sol += uk; coord2 = coord1 + (uk * (2 * k + 1)); for(int j = coord1; j <= coord2; ++j){ ulica[j] = 1; } coord1 = 0; coord2 = 0; len = 0; } } if(len != 0){ sol += (len / (2 * k + 1)); if(len % (2 * k + 1) != 0) sol++; } cout << sol; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...